20162304 2017-2018-1 《程序设计与数据结构》第十周学习总结
20162304 2017-2018-1 《程序设计与数据结构》第十周学习总结
教材学习内容总结
-
有向图和无向图;
-
带权图的学习;
-
定义生成最小树;
-
常用的图算法(遍历,测试连通性,最小生成树)
教材学习中的问题和解决过程
- 问题1:最小生成树Prim算法的理解。
- 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。其中Prim算法我们书上已经给出,我又查了一下另外一个算法,想要知道得更多。
- Kruskal算法流程
- 具体流程:
- 将图G看做一个森林,每个顶点为一棵独立的树
- 将所有的边加入集合S,即一开始S = E
- 从S中拿出一条最短的边(u,v),如果(u,v)不在同一棵树内,则连接u,v合并这两棵树,同时将(u,v)加入生成树的边集E'
- 重复3.直到所有点属于同一棵树,边集E'就是一棵最小生成树
代码托管
点评过的同学博客和代码
- 本周结对学习情况
- 20162318
- 结对照片
- 结对学习内容
- 图的学习
上周考试错题总结
- 上周无考试
其他(感悟、思考等,可选)
图的这块个人觉得有点难搞,希望可以通过进一步的学习加深理解吧。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 10/10 | |
第二周 | 0/0 | 1/2 | 10/20 | |
第三周 | 163/163 | 1/3 | 12/32 | |
第四周 | 207/370 | 1/3 | 11/43 | |
第五周 | 931/1301 | 1/4 | 12/55 | |
第六周 | 391/1692 | 2/6 | 15/70 | |
第七周 | 760/2452 | 2/8 | 13/83 | |
第八周 | 1178/3630 | 2/8 | 13/83 | |
第九周 | 1199/4829 | 1/9 | 11/94 | |
第十周 | 727/5556 | 2/11 | 13/94 |
-
计划学习时间:15小时
-
实际学习时间:13小时