alicelmx 2019-11-30
连通的:无向图中任意两个顶点之间都存在一条路径。
无向树:一种连通的无环无向图,其中一个元素被指定为树根。
有向图的路径不是双向的,反方向路径不成立。
树根到每个其他顶点都有一条路径。
网络:一种每条边都带有权重或代价的图。路径权重是该路径中各条边权重的和。
深度优先遍历和广度优先遍历的唯一不同是使用的是栈而不是队列来管理。
测试连通性:
从任意结点开始的广度优先遍历中得到的顶点数等于图中所含顶点数,则是连通的。
最小生成树(minimum spanning tree):边的权值之和小于或等于其他任意一棵生成树的边的权值之和。
图的实现策略:用邻接列表或者邻接矩阵等。有向图和无向图是不同的。
问题1:课本上给了广度优先遍历和深度优先遍历的差异,那么深度优先遍历的步骤具体是怎样的呢?
问题2解决方案:
一、对称区别:
1、无向图的邻接矩阵是对称的。
2、有向图的邻接矩阵不一定对称。
二、元素区别:
1、对于无向图,顶点V1的度是邻接矩阵中第i行(或第i列)的非零元素的个数。
2、对于有向图,顶点V1的度是邻接矩阵中第i行和第i列的非零元素的个数之和。
问题1:错误提示类Graph找不到符号
问题1解决方案:把文件名和类名调成一致即可
本周虽然只学了一章,但图在数据结构中应用范围是较为广泛的,实现的方法也是多种多样。要想全部理解吸收还是很有难度的,但是努力的敲课本上的代码,再加上从网上搜资料还是能够解决问题的。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:XX小时
实际学习时间:XX小时
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)