20172324 2018-2019-1 《程序设计与数据结构》第九周学习总结
教材学习内容总结
无向图
- 无向图是一种边为无序结点对的图:
- 图由顶点和边组成
- 顶点由名字或标号来表示,如:A、B、C、D;
边由连接的定点对来表示,如:(A,B),(C,D),表示两顶点之间有一条边。 - 如果图中的两个顶点之间有边连接,则称它们是邻接的
- 完全图:含有最多条边的无向图:
要使该图是完全的,要求有n(n-1)/2条边,当然,这里假设其中没有边是循环的
- 路径:连接图中两个顶点的边的序列,可以由多条边组成。 是图中连接两个顶点的边的序列
- 路径长度:路径中所含边的数目(或者是顶点个数减1)
- 连通的:无向图中任意两个顶点间都有路径
完全图一定是连通图,连通图不一定是完全图
环路:首顶点与末顶点相同且没有重复边的路径
无环图是没有环的图。无向树是一种连通的无环无向图,其中一个元素被指定为树根。
有向图
- 有向图:也称双向图。顶点之间有序连接,边是顶点的有序对。也就是边(A,B)和(B,A)方向不同。
注意联通有向图与无向图不同,有向边决定连通性。例如:
左图为联通图,右图不联通,因为从任何顶点到顶点1都没有路径。
- 拓扑序:有向图中没有环路,且有一条从A到B的边,则可以吧顶点A安排在顶点B之前,这种排列得到的顶点次序称为拓扑序。
- 树也是图,且有如下属性:
- 不存在其他顶点到树根的连接。
- 每个非树根元素恰好有一个连接。
- 树根到每个其他顶点都有一条路径。
网络
- 也称作加权图,每条边都对应一个权值(数据信息)的图
- 可以是无向的也可以是有向的
- 对于网络,用一个三元组来表示每条边:由起始顶点、终止顶点和权重构成。
常用的图算法
- 遍历:
-** 广度优先遍历**:从一个顶点开始,辐射状地优先遍历其周围较广的区域。- 深度优先遍历:图的深度优先搜索,类似于树的先序遍历,所遵循的搜索策略是尽可能“深”地搜索图。
- 测试连通性:
- 最小生成树:所含边权值之和小于其他生成树的边的权值之和。
- 最小生成树:所含边权值之和小于其他生成树的边的权值之和。