20162308 2017-2018-2 《程序设计与数据结构》第十周学习总结

20162308 2017-2018-2 《程序设计与数据结构》第十周学习总结

教材学习内容总结

学习目标

  • 理解图与有向图、无向图
  • 理解带权图
  • 会应用带权图
  • 理解图的广度优先遍历和深度优先遍历
  • 掌握最小生成树算法
  • 掌握图的实现

学习内容

首先,图是一种复杂的非线性结构。而在图形结构中,节点之间的关系是任意的,图中任意两个数据元素之间都有可能相关。

图G由两个集合V(顶点Vertex)和E(边Edge)组成,定义为G=(V,E)

既然图和树都是由节点和边构成的,那么图和树的区别在哪里呢?我的理解是,树是一种没有环路的图,但本质上我们可以用图的方法来实现。

图在代码上的实现有两种,分别是邻接表和邻接矩阵,邻接表的实现与我们在之前存储树的方法类似,临界矩阵则是用n*n的二维数组来表示n个节点的图,并使用graph[x][y]来描述x节点和y节点之间的边。

  • 有向图、无向图

有向图和无向图的区别就在于有向图的边是单向联通的,如果要表示和无向图一样的功能,需要实现两条边。

  • 有权图

就是指图的各个边上带有不同的权重,通常用来表示不同节点之间的距离或是路程等参数。

代码调试中的问题和解决过程

代码托管

  • 代码提交过程 & 代码量截图:
  • 2017-04-30.png

结对及互评

点评模板:

  • 博客中值得学习的或问题:

其他

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 - 1 10
第二周 - 2 20
第三周 - 3 30
第四周 - 4 40
第五周 - 5 50
  • 计划学习时间:20小时

  • 实际学习时间:10小时

  • 改进情况:

参考资料

posted @ 2017-11-12 18:31  20162308马平川  阅读(157)  评论(0编辑  收藏  举报