图和广义表_数据结构与算法

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或多个原子或子表所组成的有限序列;

猜你喜欢

转载自blog.csdn.net/u011010851/article/details/79870821