20162316刘诚昊 第十一周学习总结
20162316刘诚昊 2017-2018-2 《Java程序设计》第十一周学习总结
教材学习内容总结
第十九章 图
1.图与树一样,由节点及节点之间的连接组成。分为有向图和无向图。
图中的边是顶点的有序对的图称为有向图,反之为无向。
2.若图中两个顶点之间有边连接,则称两个顶点是邻接的。
3.含有最多条边的无向图称为完全图,其边的数量为n(n-1)/2。
4.第一个顶点和最后一个顶点是同一个顶点且没有重复变得路径,称为一个环。
5.如果无向图中任意两个顶点间都有路径,则无向图称为连通的。
6.图中每一条边都带权值的图称为网络,又称“网络”。
7.图的深度优先遍历使用栈,广度优先遍历使用队列。
8.最小生成树是带权图的生成树中,权值和最小的生成树。
课堂学习内容
1.图的表示
在写出图表示边时,无向图用圆括号,有向图用尖括号。
2.邻接矩阵
二维数组的每个位置表示图的顶点的交叉点,每个交叉点布置一个布尔值来表示是否邻接。
3.十字链表
十字链表是有向图的一种链式存储结构。可以看成是将有向图的邻接表和逆邻接表结合起来得到的一种链表 。
4.Prim算法与Kraskal算法
皆是用来生成最小生成树,Prim算法适用于稠密图,Kraskal适用于稀疏图。
教材学习中的问题和解决过程
教材中没有百思不得解的地方,但是课上的AOE网没有弄清楚怎么画。(明白原理,但是不会根据表作图)
后来查了一些资料与例题,得到了有用的经验:
- 最早发生时间就看它的入度上的弧,前面的结点的最早发生时间+弧上的时间,取最大值;
- 最迟发生时间就看它的出度上的弧,后面的结点的最迟发生时间-弧上的时间,取最小值。
- 一开始,入度为0的结点上的最早发生时间是0,往后推,到最后一个结点,如果它的最早发生时间是t,那令它的最迟发生时间也是t,反过来再求其它结点的最迟发生时间,如果结点上的最早最迟发生时间相等,就是关链结点,连起来构成关链路径。
参考网站:https://wenku.baidu.com/view/a3d3bf224431b90d6c85c7f9.html
http://bbs.pfan.cn/post-184852.html
http://blog.csdn.net/h1023417614/article/details/20159745
考试错误总结
广度优先遍历应该用队列而非排列。
有一个循环,1-2到2-1是循环。
当两个点之间有路径连通,则这两个顶点连通,这个题目中的无序图是完全图,所以是连通的。