c、c++、数据结构与算法
文章平均质量分 54
1. 数据结构基础知识
2. 刷题遇到的算法题目
3. c、c++
Alter__
技能树技能点击中
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
记录向——图
文章目录并查集拓扑排序并查集最先接触到并查集是在克鲁斯卡尔算法中,构建最小生成树。并查集在这里最核心的作用就是看有没有环。最核心的几句代码就是://首先初始化parents[i]=i//再定义查找函数int find(int *parents, int f){ while(parents[f]!=f){ f=parents[f]; } return f;}//当分别从两个点出发,查找的结果相同说明构成回路,否则就是出现一条可以走的路径n=find(parents,a)m=find原创 2021-01-12 13:51:40 · 162 阅读 · 0 评论 -
算法思想
算法思想名称定义问题满足递归定义一个函数,出现调用函数本身的操作1. 问题需要转换为多个子问题解决,而且这些子问题的解法和原问题相同,只是数量规模不同;2. 递归调用的次数必须有限;3. 有递归结束条件来终止。递归不仅是一个算法思想,它还是实现其他算法思想的工具分治原问题分解为相互独立的子问题,子问题的解合并为原问题的解1. 大问题可以分解为相互独立的与原问题形式相同的小问题;2. 各小问题的解合并成为原问题的解。3. 相互独立意味着子问题之间互不干扰这个算法思想需...原创 2021-01-09 10:15:58 · 186 阅读 · 1 评论 -
刷算法题遇到的c++知识点(持续更新)
1.front2.back2.size4.pop and push原创 2020-05-18 21:56:14 · 504 阅读 · 0 评论 -
c语言学习——结构体定义
结构体是定义的时候初始化查了翻译也看不懂,之后做了修改没有错误!就开始明白是我想要给结构体初始化的方式有了错误,特意去查如何进行结构体初始化有如下几种1.struct user1 administrator={"Alter__","123456789原创 2016-12-04 17:46:14 · 577 阅读 · 0 评论 -
记录向——动态规划算法题汇总
一般步骤第一步骤:定义数组元素的含义,dp[i] 是代表什么意思?第二步骤:找出数组元素之间的关系式,例如 dp[n] = dp[n-1] + 1。第三步骤:初始值。1.上楼问题题目:一次允许上一步或者两步,到第n个台阶有几种方法?算法思路:1,dp[i]代表上到第i阶楼梯,有多少中方式。2,先确定最后一步,在由最后一步确定倒数第二步,以此类推,dp[i]=dp[i-1]+dp[i...原创 2020-05-07 16:37:29 · 333 阅读 · 0 评论 -
数据结构复习(4)——树
树的基本结论n个结点n-1条边;树的有几个孩子=度数,树中最大度数是树的度;有序树和无序树:有序树区分兄弟结点之间的顺序,无序树不区分;树中的结点数等于所有结点的度数+1,即n=n1+n2+…+1;度为m的树在第i层至多有m的i-1次方个结点;高度为h的m叉树至多有(m的h次方-1)/(m-1)个结点;由6得具有n个结点的m叉树的最小高度为二叉树的结论二叉树的孩子节点始终有左右之分,有序树的孩子节点顺序的相对的,没有绝对的左右之分;高度为h的二叉树至多有n=2的h次方-1个结点;原创 2020-05-18 16:12:09 · 545 阅读 · 0 评论 -
数据结构复习(2)——栈与队列
栈顺序栈top=-1 or top=0 (All right,c++ stack<> use -1)top==-1时,栈空;top == Maxsize -1时,栈满;top+1 == 栈长 。top ==0时,栈空;top == Maxsize +0时,栈满;top == 栈长。共享栈:(1) top1=-1,top2=Maxsize时,栈空;(2) top2...原创 2020-05-07 19:51:53 · 573 阅读 · 0 评论 -
数据结构复习(5)——图的基本知识
图的基本概念和结论图是由顶点集V与边集E组成,例如G=(V,E),V={A,B,C},E={(A,B),(A,C)};图的V是有限非空的,图的E可以是空的;无向图的边集是用()表示,有向图的边集是用<>表示;简单图无重复边,不存在结点到自身的边;多重图与简单图刚好相反;无向完全图:任意两个顶点之间都存在边;有向完全图:任意两个顶点之间都存在方向相反的弧。在保证连通或者强连通的情况下,尽可能的包含进点以及点对应的边。当无法再吸收点时,此时的无向图或者有向图就是极大连通子图or极原创 2020-05-18 21:55:41 · 778 阅读 · 0 评论 -
数据结构复习(6)——图的遍历
广度优先搜索操作和树的层次遍历差不多队列+辅助标记数组解决无权图单源最短路径问题:单源表示从一个点出发(1). 初始化点与点路径长度为最大,出发顶点为0,初始化visited数组,出发点为真,并且压入栈中;(2). 跟广度优先搜索一样,多了一次路劲的计算,广度优先遍历一次下降一层,长度直接是双亲结点+1,不用担心有循环而出现比较的问题。解决广度优先生成树:邻接矩阵法的广度优先生成树唯一,但是邻接表法不唯一。深度优先搜索深度优先搜索类似于树的先序遍历递归(栈)+辅助标记数组深原创 2020-05-19 11:15:29 · 924 阅读 · 0 评论 -
数据结构复习(1)——基础知识和线性表
数据结构基本知识数据项(不可再分割的最小单位)->数据元素(数据的基本单位)->数据数据结构就是相互之间存在一种或多种特定关系的数据元素的集合。数据对象是具有相同性质的数据元素的集合,是数据的一个子集。数据结构的三要素:逻辑结构:集合(无关系),线性结构(一对一关系),树形结构(一对多关系),图状结构(多对多关系)。物理结构(存储结构):顺序存储(逻辑相邻,物理也相邻),...原创 2020-04-22 15:13:47 · 344 阅读 · 0 评论 -
数据结构复习(3)——数组与压缩矩阵、广义表
数组与压缩矩阵矩阵存在数组中两种方式:按行存储和按列存数(地址公式不记,脑海构思自己想)压缩矩阵:相同的元素压缩到一个数组单元中,0元素不存储特殊举证的压缩存储:对称矩阵 ->只存上三角 or 下三角三角举证 ->只存上三角 or 下三角+一个数组单元三对角矩阵...原创 2020-05-11 20:47:02 · 420 阅读 · 0 评论 -
数据结构复习(8)——查找
顺序查找无序(1). ASL成功=(n+1)/2;(2). ASL失败=n+1。有序(1). ASL成功=(n+1)/2;(2). ASL失败=n/2+n/(n+1)。(失败结点有n+1个)折半查找=二分查找(有序)代码演示:ASL成功= log2的(n+1)+1;ASL失败=(h层失败结点的个数*h)/总结点个数。分块查找(块内无序块间有序)B树、B+树B与B+树的增删参考: https://segmentfault.com/a/1190000020416577原创 2020-05-19 22:30:08 · 1088 阅读 · 0 评论 -
数据结构复习(7)——图的应用
最小生成树1.Prim——普里姆(1). 先添加一个点到生成树的点集中;(2). 选择一条边,点集中的点为一端,点集外的点为另一端,其权值最小;(3). 把该边加入到生成树的边集中,该点集外的点加入到生成树的点集中。所有的点都在点集里面结束循环,否则再执行(2)。void MST_Prim(Graph G){ int min_weight[G.vexnum];//下标0、1...分别对应A、B...,表示点集中的点到下标对应的点的最小权值,点集中的点还无法直接到达为无穷大,已加入的点为0 in原创 2020-05-19 22:30:56 · 320 阅读 · 0 评论
分享