logo资料库

管道铺设施工的最佳方案选择.doc

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
课程设计报告 课程名称: 数据结构教程 设计题目: 管道铺设施工的最佳方案选择 系 别: 信息科学系 专 业: 计算机科学与技术 学 号: 08705139 姓 名: 尹艳文 指导教师: 叶枫 时 间: 2009 ~ 2010 学年第 二 学期
南京人口学院信息科学系 N( N>10 )个居民区之间需要铺设煤气管道。 假设任意两个居民区之间都可以铺设煤气管 道,但代价不同。事先将任意两个居民区之间 课程设计题目 铺设煤气管道的代价存入磁盘文件中。设计一 个最佳方案使得这 N 个居民区之间铺设煤气 管道所需代价最少 , 并希望以图形方式在屏 幕上输出结果。 1
课程设计目的及要求: 目的:1.能根据实际问题的具体情况,结合数据结构课程中的基本理论和基 本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出 解决问题的有效算法 2.提高程序设计和调试能力.学生通过上机实习,验证自己设计的算法的正 确性,学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改. 3.培养算法分析能力.分析所设计算法的时间复杂度和空间复杂度,进一步 提高程序设计水平. 要求: 求解的算法为:在可能架设的 m 条管道中选取 n-1 条,即能连通 n-1 个居民 区,又使总投资达到“最小”。网采用邻接矩阵为存储结构,以顶点对(i,j) 的形式输出最小生成树的边。 二、数据结构设计 ①图文件的结构? ②图在内存中的存储结构 邻接矩阵、邻接表、三元组 ③最小生成树的存储结构 ④图形的显示结构 三、功能设计 ①准备代价文件 自动随机生成、用户可以自定义 ②读图文件,得到图的存储结构 ③计算最小生成树 何种算法效率更好?Prim、Kruskal ④显示最小生成树 文本方式:各边、总权值 图形函数:屏幕初始化、端点位置的初始化、绘边函数、代价显示函数、 绘无边图函数...... 2
课程设计详细内容: #include #define INFINITY 9999 void main() { system("color 3e");//输入顶点个数和边的条数// int date[20][20]; int areanum; int edgenum; printf("请输入: 顶点数,边数:\n"); scanf("%d,%d",&areanum,&edgenum);//初始化矩阵各元素值 int i,j; for(i=0;i
date[to][from]=m; }//输出邻接矩阵 printf("输出邻接矩阵为 :\n"); for(i=0;i
{ short_way[i]=date[0][i]; near_area[i]=0; } short_way[i]=0; near_area[0]=0; s=0; printf("从居民区 0 出发 ,\n"); for(i=1;i
printf("从居民区%d 到居民区%d,居民区路程(边的权值) 为%d\n",near_area[k],k,min); short_way[k]=0; s+=min; for(j=0;j
注:可另附页 7
分享到:
收藏