DS博客作业04--图

| 这个作业属于哪个班级 | 数据结构--网络2011/2012 |
| ---- | ---- | ---- |
| 这个作业的地址 | DS博客作业04--图|
| 这个作业的目标 | 学习图结构设计及相关算法 |
| 姓名 | |

0.PTA得分截图

题目集总得分,请截图,截图中必须有自己名字。题目至少完成2/3,否则本次作业最高分5分。

1.本周学习总结(6分)

本次所有总结内容,请务必自己造一个图(不在教材或PPT出现的图),围绕这个图展开分析。建议:Python画图展示。图的结构尽量复杂,以便后续可以做最短路径、最小生成树的分析。

1.1 图的存储结构

1.1.1 邻接矩阵(不用PPT上的图)

  • 造一个图,展示其对应邻接矩阵
  • 邻接矩阵的结构体定义
  • 建图函数

1.1.2 邻接表

  • 造一个图,展示其对应邻接表(不用PPT上的图)
  • 邻接矩阵的结构体定义
  • 建图函数

1.1.3 邻接矩阵和邻接表表示图的区别

各个结构适用什么图?时间复杂度的区别。

1.2 图遍历

1.2.1 深度优先遍历

  • 选上述的图,继续介绍深度优先遍历结果
  • 深度遍历代码
  • 深度遍历适用哪些问题的求解。(可百度搜索)

1.2.2 广度优先遍历

  • 选上述的图,继续介绍广度优先遍历结果
  • 广度遍历代码
  • 广度遍历适用哪些问题的求解。(可百度搜索)

1.3 最小生成树

用自己语言描述什么是最小生成树。

1.3.1 Prim算法求最小生成树

  • 基于上述图结构求Prim算法生成的最小生成树的边序列
  • 实现Prim算法的2个辅助数组是什么?其作用是什么?Prim算法代码。
  • 分析Prim算法时间复杂度,适用什么图结构,为什么?

1.3.2 Kruskal算法求解最小生成树

  • 基于上述图结构求Kruskal算法生成的最小生成树的边序列
  • 实现Kruskal算法的辅助数据结构是什么?其作用是什么?Kruskal算法代码。
  • 分析Kruskal算法时间复杂度,适用什么图结构,为什么?

1.4 最短路径

1.4.1 Dijkstra算法求解最短路径

  • 基于上述图结构,求解某个顶点到其他顶点最短路径。(结合dist数组、path数组求解)
  • Dijkstra算法需要哪些辅助数据结构
  • Dijkstra算法如何解决贪心算法无法求最优解问题?展示算法中解决的代码。
  • Dijkstra算法的时间复杂度,使用什么图结构,为什么。

1.4.2 Floyd算法求解最短路径

  • Floyd算法解决什么问题?
  • Floyd算法需要哪些辅助数据结构
  • Floyd算法优势,举例说明。

最短路径算法还有其他算法,可以自行百度搜索,并和教材算法比较。

1.5 拓扑排序

  • 找一个有向图,并求其对要的拓扑排序序列
  • 实现拓扑排序代码,结构体如何设计?
  • 书写拓扑排序伪代码,介绍拓扑排序如何删除入度为0的结点?
  • 如何用拓扑排序代码检查一个有向图是否有环路?

1.6 关键路径

  • 什么叫AOE-网?
  • 什么是关键路径概念?
  • 什么是关键活动?

2.PTA实验作业(4分)

2.1 六度空间(2分)

选一题,介绍伪代码,不要贴代码。请结合图形展开分析思路。

2.1.1 伪代码(贴代码,本题0分)

伪代码为思路总结,不是简单翻译代码。

2.1.2 提交列表

2.1.3 本题知识点

2.2 村村通或通信网络设计或旅游规划(2分)

2.2.1 伪代码(贴代码,本题0分)

伪代码为思路总结,不是简单翻译代码。

2.2.2 提交列表

2.2.3 本题知识点

posted @ 2020-04-21 10:26  林老师dsc  阅读(729)  评论(0编辑  收藏  举报