第六章学习小结

本章我们主要学习了图,包括图的定义和基本术语、图的存储结构、图的遍历、图的应用等。

图表示多对多的关系,包含一组顶点和一组边(不考虑重边和自回路)

图的常见术语有:无向图,有向图,网络等

图的存储结构:

邻接矩阵:

   找任意顶点的邻接点:只需要找到该点所在行或所在列的元素为1,则对应的点就是邻接点

邻接表:适用于稀疏矩阵。因为邻接表每一条边被存了两遍,而且对于有权重的图,还需要心得额空间,所以邻接表存储必须要够稀疏才合算。

邻接矩阵的类型定义:

 

 

图的创建:基于邻接矩阵创建无向带权图

 

 基于邻接表的类型定义:(递归定义)

 

 

 

邻接点的结构:

 

 顶点的类型:

 

 在邻接表中查找顶点所在下标:

 

 

 

 

截图的遍历:

深度优先遍历:邻接表的时间复杂度为O(N+E),邻接矩阵的实践复杂度为O(N^2)

 

 

广度优先遍历:相当于层次遍历,邻接表的实践复杂度为O(N+E),邻接矩阵的时间复杂度为O(N^2)

图的应用:

最小生成树:

      Prim算法:添加点,逐步形成一个连通分量

 

 

 

克鲁斯卡尔算法:先找权值最小的边,逐步添加,形成一个连通分量。

最短路径:Dijkstra算法:

 

 

拓扑排序:

 

 改进:

关键路径。

下阶段目标:认真学习第七章的内容,复习之前的内容,准备期末考试。

 

posted @ 2020-06-14 23:51  木兮远修  阅读(160)  评论(0编辑  收藏  举报