地铁建设问题数据结构课程设计
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
地铁建设问题数据结构课程设计 一、设计时间 数据结构课程设计的设计时间为2015年1月19日至2012年1月23日,总计5天。 二、设计目的 通过课程设计,加深对《数据结构》这一课程所学内容的进一步理解与巩固,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。训练C程序调试能力,能将一个中小型各级组织系统联调通过。开发一个中小型系统,掌握系统研发全过程。培养分析问题、解决实际问题的能力。 三、设计任务 某城市要在各个辖区之间修建地铁,由于地铁建设费用昂贵,因此需要合理安排地铁建设线路,使市民可以沿地铁到达各个辖区,并使总费用最小。 四、设计容 设计思路: 1. 输入各个辖区名称和各辖区间直接距离(地铁铺设费用与距离成正比)。 2. 根据辖区距离信息,计算出应该在哪些辖区建立地铁线路。 3. 输出应该建设的地铁线路及所需建设总里程。 五、抽象数据类型的定义 在本程序中,用到了以下抽象数据类型的定义: 1. `typedef char InfoType;`:定义一个字符类型的 InfoType,用来存储辖区名称信息。 2. `typedef char VertexType[MAX_NAME];`:定义一个字符数组类型的 VertexType,用来存储辖区名称信息。 3. `typedef struct{ VRType adj; InfoType *info; }ArcCell, AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];`:定义一个结构体类型的 ArcCell,用来存储辖区之间的关系信息。 4. `typedef struct{ VertexType vexs[MAX_VE`:定义一个结构体类型,用来存储辖区信息。 六、数据结构设计 在本程序中,我们使用了以下数据结构: 1. 图(Graph):用来存储辖区之间的关系信息。 2. 矩阵(Matrix):用来存储辖区之间的距离信息。 七、算法设计 在本程序中,我们使用了以下算法: 1. Prim 算法:用来计算最小生成树,确定地铁线路。 2. Dijkstra 算法:用来计算最短路径,确定地铁线路的总里程。 八、测试与分析 在本程序中,我们使用了以下测试方法: 1. 单元测试:测试每个模块的功能是否正确。 2. 集成测试:测试整个系统的功能是否正确。 九、结论 通过本课程设计,我们加深了对《数据结构》这一课程所学内容的理解,掌握了系统研发的全过程,培养了分析问题、解决实际问题的能力。
剩余18页未读,继续阅读
- 杨杨杨yx2023-12-26非常有用的资源,可以直接使用,对我很有用,果断支持!
- 张心水啊2023-12-15资源内容详细,总结地很全面,与描述的内容一致,对我启发很大,学习了。
- 小五头2023-10-14资源太好了,解决了我当下遇到的难题,抱紧大佬的大腿~
- 心情很烦恼2024-06-24资源内容详细,总结地很全面,与描述的内容一致,对我启发很大,学习了。
- 粉丝: 95
- 资源: 1万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- EBS excel导入实例
- 狙击机器人等待特定配对的创建,一旦检测到,机器人就会购买指定金额的代币.zip
- mapbox maps 添加简单地图
- python入门-安装Python软件包.pdf
- 关于标准库与时间:让编程者使用时间函数更便捷
- 此存储库收集了所有有趣的 Python 单行代码 欢迎随意提交你的代码!.zip
- 高考志愿智能推荐-JAVA-基于springBoot高考志愿智能推荐系统设计与实现
- 信奥中的数学:阶乘算法及其应用(NOI入门级,2024.11.24)
- 标准 Python 记录器的 Json 格式化程序.zip
- 复兴村医疗管理-JAVA-基于springBoot复兴村医疗管理系统设计与实现