首页 > 其他 > 详细

第六章学习心得

时间:2020-06-14 22:40:45      阅读:50      评论:0      收藏:0      [点我收藏+]

这一章里主要学习了图的相关内容。

定义:由顶点(V)和边(E)的集合组成——分为有向图和无向图

存储结构:邻接矩阵——适用于稀疏图、顶点较多

                  邻接表——适用于稠密图、顶点较少或不需要记录权值

图的遍历:深度优先搜索(DFS)——类似于先序遍历 

技术分享图片技术分享图片

                  广度优先搜索(BFS)——类似于层次遍历

技术分享图片

图的应用:最小生成树:Prime算法

                                        Kruskal算法

                  最短路径:单源最短问题

                                    多源最短问题

 

第六章作业:

7-1 列出连通集 (30分)
 

给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。

输入格式:

输入第1行给出2个整数N(0)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。

这道代码题思路是很容易理解,但有一个需要注意的地方就是,由于辅助数组visited定义的是 全局变量,所以在DFS遍历之后,要将visited归零,才能继续BFS遍历,而全局变量的修改并不像局部变量那样简单,上网查了之后,发现应该这样修改:memset(visited, false, sizeof(visited));这一点是特别需要注意的。

这一章学起来感觉有点困难,需要一定的空间想象能力,一般都会将图和矩阵或者表结合来看,才方便做题,如果题目没有给全两者的话,理解起来就会比较麻烦,归根到底还是学的不扎实的原因,希望能把书上的知识点和题目都理解透,继续提高写代码的能力。

第六章学习心得

原文:https://www.cnblogs.com/JayMessi/p/13127206.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!