数据结构学习笔记
AaronXueNF
这个作者很懒,什么都没留下…
展开
-
数据结构笔记[3] Dijkstra算法
Dijkstra算法Dijkstra算法用于求解连通图中的最短距离问题,对于指定一点,该算法可求解其到其余各点的最短距离。该算法需要两个辅助数组distance[MAXVEX], last_vertex[MAXVEX],前者用于存储各点到所求点的最短路程,后者用于存储其他的点到所求点路径的上一点。基本步骤可以概括为:初始化,distance[ ]数组为v[i]到v0的距离, last_vertex[]数组为v0(起始点)查找距v0最近的点k,将其标记为已找到最短路径计算未被标记的点经由k点到v原创 2020-12-20 22:13:38 · 242 阅读 · 0 评论 -
数据结构笔记[2] Kruskal算法
Kruskal算法同Prim算法,Kruskal算法用于求解连通图中最小生成树问题。该算法从直观上比较好理解,其过程为:将图中的所有边按照权值大小从小到大排序依次选择最小的边,只要该边加入生成树中不会成环,就将这条边加入生成树Kruskal算法的实现实现分辨顶点加入树中是否会导致成环的方法是将所有顶点分类,在一棵树中的为同样一类,其过程见http://data.biancheng.net/view/41.html这里用的方法和上边资料的方法相同但在表述上稍有差别。建立一个数组,命名为p原创 2020-12-17 21:57:28 · 284 阅读 · 0 评论 -
数据结构笔记[1] Prim算法
Prim算法Prim算法用于求解连通图中最小生成树问题。即在一个n个顶点的连通图中找出n-1条边,形成一棵树并使所有边的权值之和最小。Prim算法的核心是将顶点集分类,分为加入生成树的点(记为集合A)和剩余的点(记为集合B)。在迭代的过程中,不断将B中到A权值最小的一点加入A中(即遍历B中所有点,对每一点遍历其到A中所有点的权值,挑权值最小的那一点加入A),直至全部顶点加入集合A以下图为例:其生成过程为:Prim算法的实现在Prim算法中,关键在于两个数组,adjvex、lowcost。刚原创 2020-12-14 21:46:27 · 1016 阅读 · 0 评论