本文主要是介绍图和广义表_数据结构与算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.有向完全图 边数 = n(n-1)
无向完全图 边数 = n(n-1)/2
2.存储方式
a. 图的邻接矩阵 -> 数组;
b. 链表:邻接表,邻接多重表,十字链表;
3.遍历方法
a. 深度优先遍历:递归
b. 广度优先遍历:队列
4.最小生成树
Prim算法:在与命中的顶点集相连的边中选一条权值最小的,再添加其顶点进顶点集;o(n[2]),与边数无关;
Kruskal算法:选最小的边,不成环则成功;o(elog2[e]),与边数有关;
5.最短路径算法
单源:给定起点v0
Dijkstra:选距离最近的顶点加入顶点集 -> 更新源到各点距离,更新距离时也需要更新路径表;o(n[2]);
所有顶点对之间的最短路径:
重复执行Dijkstra算法n次/Floyd算法,o(n[3]);
6.广义表:0或多个原子或子表所组成的有限序列;
这篇关于图和广义表_数据结构与算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!