20162308 2017-2018-2 《程序设计与数据结构》第十周学习总结
教材学习内容总结
学习目标
- 理解图与有向图、无向图
- 理解带权图
- 会应用带权图
- 理解图的广度优先遍历和深度优先遍历
- 掌握最小生成树算法
- 掌握图的实现
学习内容
图
- 图
首先,图是一种复杂的非线性结构。而在图形结构中,节点之间的关系是任意的,图中任意两个数据元素之间都有可能相关。
图G由两个集合V(顶点Vertex)和E(边Edge)组成,定义为G=(V,E)
既然图和树都是由节点和边构成的,那么图和树的区别在哪里呢?我的理解是,树是一种没有环路的图,但本质上我们可以用图的方法来实现。
图在代码上的实现有两种,分别是邻接表和邻接矩阵,邻接表的实现与我们在之前存储树的方法类似,临界矩阵则是用n*n的二维数组来表示n个节点的图,并使用graph[x][y]来描述x节点和y节点之间的边。
- 有向图、无向图
有向图和无向图的区别就在于有向图的边是单向联通的,如果要表示和无向图一样的功能,需要实现两条边。
- 有权图
就是指图的各个边上带有不同的权重,通常用来表示不同节点之间的距离或是路程等参数。
代码调试中的问题和解决过程
代码托管
- 代码提交过程 & 代码量截图:
结对及互评
点评模板:
- 博客中值得学习的或问题:
其他
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | - | 1 | 10 | |
第二周 | - | 2 | 20 | |
第三周 | - | 3 | 30 | |
第四周 | - | 4 | 40 | |
第五周 | - | 5 | 50 |
-
计划学习时间:20小时
-
实际学习时间:10小时
-
改进情况: