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分)
伪代码为思路总结,不是简单翻译代码。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人