数据结构
Xiao2018428
这个作者很懒,什么都没留下…
展开
-
AVL树的旋转
原创 2020-04-27 13:04:26 · 127 阅读 · 0 评论 -
红黑树
红黑树自平衡的最小单元:原创 2020-04-16 19:34:49 · 116 阅读 · 0 评论 -
数据结构专题——树
1. 树与二叉树 1.1 树的定义与性质 树的概念: 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个节点有零个或多个子节点; 没有父节...原创 2019-08-28 21:16:15 · 291 阅读 · 0 评论 -
邻接矩阵和邻接表对Dijkstra算法的实现
Dijkstra 算法 Dijkstra算法用来解决单源最短路径问题,即给定图G和起点s,通过算法得到s到达其他每个顶点的最短距离。Dijkstra的基本思想是对图G(V,E)设置集合S,存放已经被访问的顶点,然后每次从集合V-S中选择与起点s的最短距离最小的一个顶点(记为u),访问并加入集合S。之后,令顶点u为中介点,优化起点s与所有从u能到达的顶点v之间的最短距离。这样的操作...原创 2019-09-03 09:32:46 · 637 阅读 · 0 评论 -
prim算法的邻接图和邻接表方式实现
prime算法: prime算法用来解决最小生成树的问题,其基本思想是对图G(V,E)设置集合S,存放已被访问的顶点,然后每次从集合V-S中选择与集合S的最短距离最小的一个顶点(记为u),访问并加入集合S。之后,令顶点u为中介点,优化所有从u能到达的顶点v与集合S之间的最短距离。这样的操作执行n次(n为顶点个数),直到集合S已包含所有的顶点。 #include <ios...原创 2019-09-04 11:14:16 · 1623 阅读 · 0 评论 -
kruskal算法
kruskal算法: kruska算法同样是解决最小生成树的问题的一个算法。和prim算法不同,kruskal算法采用了边贪心的策略。其基本思想为:在初始状态时隐去图中所有的边,这样图中每个顶点都自成一个连通块。之后进行下面的步骤: 对所有的边按边权从小到大进行排序。 按边权从小到大测试所有的边,如果当前测试边所连接的两个顶点不在同一个连通块中,则把这条测试边加入到当前的最小生成树中;否则,...原创 2019-09-04 15:35:15 · 251 阅读 · 0 评论 -
拓扑排序
拓扑排序: 拓扑排序是将有向无环图G的所有顶点排成一个线性序列,使得对图G中的任意两个顶点u、v,如果存在边u->v,那么在序列中u一定在v前面。这个序列称为拓扑序列。 步骤: 定义一个队列Q,并把所有入度为0的结点加入队列。 取队首结点,输出。然后删去所有从它出发的边,并令这些边到达的顶点的入度减1,如果某个顶点的入度减为0,则将其加入队列 反复进行2操...原创 2019-09-04 16:16:06 · 155 阅读 · 1 评论