资源描述
沈 阳 工 程 学 院 课 程 设 计 设计题目:地铁问题 系 别 班级 学生姓名 学号 指导教师 职称 讲师、讲师 起止日期:2015 年 6月 15日起至 2015年 6月 26日止 沈 阳 工 程 学 院 课程设计任务书 课程设计题目:地铁问题 一、 课程设计的原始资料及依据 地铁建设问题描述:某城市要在其各个辖区之间修建地铁来加快经济的发展,但由于建 设地铁的费用昂贵,因此需合理安排地铁的建设路线,使乘客可以沿地铁到达各个辖区,并 使总的建设费用最小。 二、课程设计主要内容及要求 地铁建设内容及要求 (1)从包含各辖区的地图文件中读入名称和各辖区间的直接距离。 (2)根据读入的各辖区间距离信息,计算应该建设哪些辖区建的地铁线路。 (3)输出应该建设的地铁路线及所需建设的总里程信息。 三、对课程设计说明书撰写内容、格式、字数的要求 1课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目 的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、设计小组 评语、参考文献等。一般不应少于 3000 字。 2在适当位置配合相应的实验原理图、数据通路图、微程序流程图、实验接线图、微指令 代码表等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。 3设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了 什么,哪里遇到了困难,解决的办法以及今后的目标。 4课程设计说明书手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水 工整书写;打印时采用 A4 纸,页边距均为 20mm,正文采用宋体小四号字,行间距 18 磅。 文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字, 表题与图题采用宋体五号字。 5课程设计说明书装订顺序为:封面、任务书、任务分工表、成绩评定表、目录、正文、参考文献。 磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四 号字,表题与图题采用宋体五号字。 5课程设计说明书装订顺序为:封面、任务书、任务分工表、成绩评定表、目录、正 文、参考文献。 四、设计完成后应提交成果的种类、数量、质量等方面的要求 1完成“任务书”中指定的操作功能,运行稳定。 2课程设计说明书。 五、时间进度安排 顺序 阶段日期 计 划 完 成 内 容 备注 1 第 1 天 阅读资料 2 第 23 天 系统分析设计 3 第 47 天 程序编制、调试及运行 4 第 89 天 成绩评定 5 第 10 天 撰写课程设计说明书 六、主要参考资料(文献) 1滕国文.数据结构课程设计.北京:清华大学出版社.2010.09 2 Mark Allen Weiss 编著. 数据结构与算法分析. 北京: 人民邮电出版社.2007 3李春葆.数据结构(C 语言版)习题与解析.北京:清华大学出版社.2002.04 4 熊锡义主编 C 语言程序设计案例教程 大连理工大学出版社 09 年 3 月版 5严蔚敏 吴伟民.数据结构(C 语言版). 北京:清华大学出版社.2007 6谭浩强.C 程序设计.北京:清华大学出版社.1999.12 沈 阳 工 程 学 院 程序设计基础课程设计成绩评定表 系(部):计算机科学与技术系 班级:计算机B143 学生姓名: 王世杰 指 导 教 师 评 审 意 见 评价内容 具 体 要 求 权重 评 分 加权分 调研 论证 能独立查阅文献,收集资料;能制定课程设计方 案和日程安排。 0.1 5 4 3 2 工作能力 态度 工作态度认真,遵守纪律,出勤情况是否良好, 能够独立完成设计工作, 0.2 5 4 3 2 工作量 按期圆满完成规定的设计任务,工作量饱满,难度适宜。 0.2 5 4 3 2 说明书的 质量 说明书立论正确,论述充分,结论严谨合理, 文字通顺,技术用语准确,符号统一,编号齐 全,图表完备,书写工整规范。 0.5 5 4 3 2 指导教师评审成绩 (加权分合计乘以 8) 分 加权分合计 指 导 教 师 签 名: 年 月 日 评 阅 教 师 评 审 意 见 评价内容 具 体 要 求 权重 评 分 加权分 查阅 文献 查阅文献有一定广泛性;有综合归纳资料的能 力 0.2 5 4 3 2 工作量 工作量饱满,难度适中。 0.5 5 4 3 2 说明书的 质量 说明书立论正确,论述充分,结论严谨合理, 文字通顺,技术用语准确,符号统一,编号齐 全,图表完备,书写工整规范。 0.3 5 4 3 2 评阅教师评审成绩 (加权分合计乘以 4) 分 加权分合计 评 阅 教 师 签 名: 年 月 日 答 辩 小 组 评 审 意 见 评价内容 具 体 要 求 权重 评 分 加权分 学生汇报 汇报准备充分,思路清晰;语言表达准确,概 念清楚,论点正确,有层次,有重点,基本上 反映了所完成任务的全部内容;时间符合要求。 0.5 5 4 3 2 答 辩 思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。 0.5 5 4 3 2 答辩小组评审成绩 (加权分合计乘以 8) 分 加权分合计 答辩小组教师签名: 年 月 日 课 程 设 计 总 评 成 绩 分 沈 阳 工 程 学 院 程序设计基础课程设计成绩评定表 系(部):计算机科学与技术系 班级:计算机B143 学生姓名: 张云朗 指 导 教 师 评 审 意 见 评价内容 具 体 要 求 权重 评 分 加权分 调研 论证 能独立查阅文献,收集资料;能制定课程设计方 案和日程安排。 0.1 5 4 3 2 工作能力 态度 工作态度认真,遵守纪律,出勤情况是否良好, 能够独立完成设计工作, 0.2 5 4 3 2 工作量 按期圆满完成规定的设计任务,工作量饱满,难度适宜。 0.2 5 4 3 2 说明书的 质量 说明书立论正确,论述充分,结论严谨合理, 文字通顺,技术用语准确,符号统一,编号齐 全,图表完备,书写工整规范。 0.5 5 4 3 2 指导教师评审成绩 (加权分合计乘以 8) 分 加权分合计 指 导 教 师 签 名: 年 月 日 评 阅 教 师 评 审 意 见 评价内容 具 体 要 求 权重 评 分 加权分 查阅 文献 查阅文献有一定广泛性;有综合归纳资料的能 力 0.2 5 4 3 2 工作量 工作量饱满,难度适中。 0.5 5 4 3 2 说明书的 质量 说明书立论正确,论述充分,结论严谨合理, 文字通顺,技术用语准确,符号统一,编号齐 全,图表完备,书写工整规范。 0.3 5 4 3 2 评阅教师评审成绩 (加权分合计乘以 4) 分 加权分合计 评 阅 教 师 签 名: 年 月 日 答 辩 小 组 评 审 意 见 评价内容 具 体 要 求 权重 评 分 加权分 学生汇报 汇报准备充分,思路清晰;语言表达准确,概 念清楚,论点正确,有层次,有重点,基本上 反映了所完成任务的全部内容;时间符合要求。 0.5 5 4 3 2 答 辩 思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。 0.5 5 4 3 2 答辩小组评审成绩 (加权分合计乘以 8) 分 加权分合计 答辩小组教师签名: 年 月 日 课 程 设 计 总 评 成 绩 分 沈 阳 工 程 学 院 程序设计基础课程设计成绩评定表 系(部):计算机科学与技术系 班级:计算机B143 学生姓名: 王丛伍 指 导 教 师 评 审 意 见 评价内容 具 体 要 求 权重 评 分 加权分 调研 论证 能独立查阅文献,收集资料;能制定课程设计方 案和日程安排。 0.1 5 4 3 2 工作能力 态度 工作态度认真,遵守纪律,出勤情况是否良好, 能够独立完成设计工作, 0.2 5 4 3 2 工作量 按期圆满完成规定的设计任务,工作量饱满,难度适宜。 0.2 5 4 3 2 说明书的 质量 说明书立论正确,论述充分,结论严谨合理, 文字通顺,技术用语准确,符号统一,编号齐 全,图表完备,书写工整规范。 0.5 5 4 3 2 指导教师评审成绩 (加权分合计乘以 8) 分 加权分合计 指 导 教 师 签 名: 年 月 日 评 阅 教 师 评 审 意 见 评价内容 具 体 要 求 权重 评 分 加权分 查阅 文献 查阅文献有一定广泛性;有综合归纳资料的能 力 0.2 5 4 3 2 工作量 工作量饱满,难度适中。 0.5 5 4 3 2 说明书的 质量 说明书立论正确,论述充分,结论严谨合理, 文字通顺,技术用语准确,符号统一,编号齐 全,图表完备,书写工整规范。 0.3 5 4 3 2 评阅教师评审成绩 (加权分合计乘以 4) 分 加权分合计 评 阅 教 师 签 名: 年 月 日 答 辩 小 组 评 审 意 见 评价内容 具 体 要 求 权重 评 分 加权分 学生汇报 汇报准备充分,思路清晰;语言表达准确,概 念清楚,论点正确,有层次,有重点,基本上 反映了所完成任务的全部内容;时间符合要求。 0.5 5 4 3 2 答 辩 思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。 0.5 5 4 3 2 答辩小组评审成绩 (加权分合计乘以 8) 分 加权分合计 答辩小组教师签名: 年 月 日 课 程 设 计 总 评 成 绩 分 摘 要 某城市要在其各个辖区之间修建地铁来加快经济的发展,但由于建设地铁的费用昂贵, 因此需合理安排地铁的建设路线,使乘客可以沿地铁到达各个辖区,并使总的建设费用最小。 地铁建设可以缓解城市交通压力。城市交通问题,已经成为现代人无法面对的通病。经济发 展,汽车数量增长速度,远远快于城市道路的扩张速度。地铁这个交通的特点就是到达的快 捷性和可靠性,运载能力强,能够在很短的时间运输大量的人群。运行中不塞车,是城市中 最具可靠性的交通工具。第二、增加地铁交通体系,可以使城市规划更加科学和合理。可以 节约能源。缓解对石油、天然气消耗的压力。可以减少污染。地铁这种交通工具污染少。可 以节省时间。因为不塞车,速度快,节省上班族上下班的在途时间。 因此我们小组利用数据结构输入各条线路起点、终点和直接距离,建立无向图,邻接矩 阵存储输出邻接矩阵中的普利姆算法计算最小生成树输出最有线路。 关键词 数据结构 最小生成树 地铁 邻接矩阵 目 录 摘 要 .I 第一章 问题分析 .1 1.1 引言 .1 1.2 背景 .1 1.3 分析 .1 1.3.1 调试过程中的问题 .1 第二章 原理与运行环境 .2 2.1 数据理论 .2 2.1.1 地铁问题的数据理论 .2 2.2 运行环境 .2 2.2.1 打开方法 .2 2.2.2 打开 MICROSOFT VISUAL STDIO6.0 运行环境 .3 2.2.3 源程序的建立与编辑、连接 .4 第三章 系统分析与设计 .6 3.1 地铁建设问题分析与设计 .6 3.1.1 系统的功能 .6 第四章 系统功能实现 .7 4.1 地铁建设问题的系统功能实现 .7 4.1.1 定义主函数 .7 4.1.2 创建结构体数组,存储辖区名 .8 4.1.3 创建无向图,邻接矩阵存储 .9 4.1.4 输出邻接矩阵 .10 4.1.5 普利姆算法求最小生成树,输出最优路线 .11 结论 .14 致谢 .15 参考文献 .16 第一章 问题分析 1.1 引言 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定 关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效 率。数据结构往往同高效的检索算法和索引技术有关。 一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻 辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构 的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执 行的运算才有意义。一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理 的效率。在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大 型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了 最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反 过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都 是非常重要的。选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因 素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言 就是其中之一。 本次课程设计主要利用数据结构中最小生成树实现地铁最优线路问题。 1.2 背景 随着经济的迅速发展,城市交通“外拥内堵” ,情况严峻,压力巨大。我们为了缓解城市 交通拥堵,改变过去以地上交通为主的单一格局,构建地上地下立体交通体系,并通过与其 他交通方式的有机衔接,将极大地缓解城市交通拥堵状况,解决人民群众出行难的问题,于 是我们建立了地铁建设项目。 1.3 分析 1.3.1 调试过程中的问题 1.调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析: 开始准备将辖区名和相应距离同存储在邻接矩阵中,但因为数据类型不同,这个想法 难以实现;而且就算实现了,在后面的程序中操作也非常麻烦。所以我创建了一个结构体数 组用来存储辖区名,这样辖区名和数组下标一一对应,简明、易懂、清晰。以后只要看数字 所对应的下标存储的是哪个辖区,就可以将其引用。 运行程序时,我要输出最优路线对应的辖区,所以在输出时要直接引用结构体数组, 但怎么都不行,我就分模块来调试,最后发现,原来是没有将结构体数组的地址传过来。修 改后,程序运行正常。 没有使用指针,避免了指针指向错误存储区而造成的错误。 2.算法的时间复杂度和空间复杂度的分析,改进设想: 本程序的时间复杂度为 o(n2) ,主要是 for 循环的作用。 第二章 原理与运行环境 2.1 数据理论 2.1.1 地铁问题的数据理论 1程序所能达到的功能: creatve()-创建结构体数组,存储辖区名 CreateGraph()-建立辖区间直接距离的无向图,用邻接矩阵存储 pri()-输出无向图的邻接矩阵 prim()-普利姆算法计算无向图的最小生成树,输出最优路线 2输入的形式和输入值的范围: 输入数字和字母,字母为辖区名,数字为直接距离,名称个数 n,线路个数 e,0en(n-1),直接距离 weigth,0weigth99999 3输出的形式: 最佳建设路径为: (辖区名-辖区名)-直接路径 2.2 运行环境 数据结构程序的运行环境为 Microsoft visual c+ 6.0 2.2.1 打开方法 开始程序Microsoft visual stdio6.0Microsoft Visual C+ 6.0,如图 2-1 所示。 图 2-1 打开 Visual C+的方法 2.2.2 打开 Microsoft visual stdio6.0 运行环境 其工作环境如图 2-2 所示。 图 2-2 Visual C+工作环境 2.2.3 源程序的建立与编辑、连接 建立 C 语言源程序文件。建立方法:选择菜单命令“File” “New”或直接点击对 话框中的“New ”,如图 2-3 所示。 图 2-3 建立 C 语言源程序文件 程序的编辑与编译。编辑完成后,选择菜单栏中的“组建”“调试程序” , 或者直 接点击工具栏中“箭头”按钮,即可对程序进行编译。 当输出区显示“0 errors, 0 warnings ”时表示没有错误和警告,反之,则会按序号列 出错误和警告。双击错误或警告,编辑标志会出现在源文件可能出错的位置,我们可以在此 对源程序中的错误进行更改。当然有时提示位置不一定很准确。 程序的编辑于编译操作,如图 2-4 所示。 图 2-4 程序的编辑与编译 程序的执行。单击工具栏上的“深红色感叹号”按钮,即可执行刚编写的程序。若程 序完全正确,即可弹出运行框。如图 2-5 所示。 图 2-5 程序的执行 第三章 系统分析与设计 3.1 地铁建设问题分析与设计 3.1.1 系统的功能 此系统为:某城市要在各个辖区之间修建地铁,由于地铁建设费用昂贵,因此需要合理 安排地铁建设线路,使市民可以沿地铁到达各个辖区,并使总费用最小。 其主功能模块的流程图如图 3-1 所示。 N Y 开始 判断 0en(n-1) 输入线路个数 建立无向图,邻接矩阵 存储 输入辖区个数和辖区名 输入各条线路起点、终 点和直接距离 普利姆算法计算最小生 成树 输出最优线路和总里程 结束 输出邻接矩阵 第四章 系统功能实现 4.1 地铁建设问题的系统功能实现 4.1.1 定义主函数 主函数是程序的入口,采用模块化设计,首先声明一些必要的变量函数如下: creatve()-创建结构体数组,存储辖区名 CreateGraph()-建立辖区间直接距离的无向图,用邻接矩阵存储 pri()-输出无向图的邻接矩阵 prim()-普利姆算法计算无向图的最小生成树,输出最优路线 主函数调用各模块的关系如下: 主函数 main()调用 int creatve(city vexmax)创建结构体数组存储辖区名; 主函数 main()调用 int CreateGraph(int gmax,int n,void pri(int gmax,int n)建立 无向图,用邻接矩阵存储; int CreateGraph(int gmax,int n,void pri(int gmax,int n)调用 void pri(int gmax, int n)输出邻接矩阵; 主函数 main()调用 void prim(int gmax,int n,city vexmax)计算最小生成树,输出 最优线路和总里程。 源代码如下: void main() /* 主函数 */ int gmaxmax,n; city vexmax; n=creatve(vex); CreateGraph(g,n,pri); printf(nn最佳建设路线为:n); printf(辖区名-辖区名)-直接距离nn); prim(g,n,vex); 功能实现图如图 4-1 所示。 图 4-1 初始化界面 4.1.2 创建结构体数组,存储辖区名 进入主程序页面后,应输入各个辖区名,并调用函数对输入的辖区名进行存储。 源代码如下: int creatve(city vexmax)/创建辖区名数组 int i,n; printf(设置辖区的个数: );/城市中辖区的个数 scanf(%d, for(i=1;in+1;i+)/建立城市辖区名数组 printf(第%d个城市辖区名称为: ,i); scanf(%s,vexi.name); return(n); 功能实现图 4-2 所示。 图 4-2 4.1.3 创建无向图,邻接矩阵存储 按照地铁建设问题的要求,要将各个辖区为顶点作为图,并用邻接矩阵将其存储。 其源代码如下: int CreateGraph(int gmax,int n,void pri(int gmax,int n) /* 建立无向图 */ int e,i,j,k,v1=0,v2=0,weight=0; printf(输入可建地铁线线路个数:); scanf(%d, while(e=n*(n-1)|n=max) error(); printf(输入可建地铁线线路个数:); scanf(%d, for(i=1;i=n;i+) for(j=1;j=n;j+) gij=inf; /* 初始化矩阵,全部元素设为无穷大 */ for(k=1;kn|v2n|v11|v21) error(); printf(输入第 %d 条线路的起始辖区,终点辖区,直接距离:,k); scanf(%d%d%d, gv1v2=weight; gv2v1=weight; printf(n输出存储矩阵:n); pri(g,n); return OK; 功能实现图如图 4-3 所示 图 4-3 4.1.4 输出邻接矩阵 此时将邻接矩阵存储的结果显示一下,以便检查下一步中结果的正确性。 其源代码如下: void pri(int gmax,int n) /* 输出无向图的邻接矩阵 */ int i,j; for(i=0;i=n;i+) printf( %dt,i); for(i=1;i=n;i+) printf(n %dt,i); for(j=1;j=n;j+) /* 输出边的权值 */ if(gij=inf) printf( t,354); else printf( %dt,gij); printf(n); 功能实现如图 4-4 所示 图 4-4 4.1.5 普利姆算法求最小生成树,输出最优路线 用普利姆算法求出最短路程,则为地铁建设的最优路线。 其源代码如下: void prim(int gmax,int n,city vexmax) /* prim的函数 */ int lowcostmax,closestmax; int i,j,k,min,s=0; for(i=2;i=n;i+) /* n个顶点,n-1条边 */ lowcosti=g1i; /* 初始化 */ closesti=1; /* 顶点未加入到最小生成树中 */ lowcost1=0; /* 标志顶点1加入U集合 */ for(i=2;i=n;i+) /* 形成n-1条边的生成树 */ min=inf; k=0; for(j=2;j=n;j+) /* 寻找满足边的一个顶点在U,另 一个顶点在V的最小边 */ if(lowcostjmin) k=j; s+=min; printf(%s-%s)-%dt,vexclosestk.name,vexk.name,min); lowcostk=0; /* 顶点k加入U */ for(j=2;j=n;j+) /* 修改由顶点k到其他顶点边的权 值 */ if(gkjlowcostj) lowcostj=gkj; closestj=k; printf(n); printf(n修建地铁最短总里程为:); printf(%d,s); 功能实现如图 4-5 所示 图 4-5 结论 刚开始拿到题目的时候,没有什么思路,就翻书看了普利姆算法,然后也在网上搜索了 相关的资料。找到有相似的程序,但不符合我的题目的要求,不是邻接矩阵存储,输入输出 也不行。于是,我们小组就仔细的看了程序,弄懂之后我们就开始编我的程序。经过一个星 期的奋斗,我们终于是把程序整出来了。这是一个坚苦而又漫长的过程。看着劳动成果,很 欣慰!毕竟这是我们第一次自己动脑筋做课程设计。 通过这次课程设计我们深刻的理解了普利姆算法,同时理解了数据结构中思想的严谨性 和准确性,在这次设计过程中让我们各自找到了自己在设计过程中的缺点,我们大家意识到 自己当时学明白并不代表自己就真正的会,自己在看书是看明白了不一定就能在计算机上运 行,例如当输入为%c 时候如果一个一个的输入程序会把回车也当做一个字符。再者就是在 每次程序中出现的老问题,在函数调用时如果传值和传址弄混那么在函数调用过程中就会出 现传不回地址或者传回的值为乱码。在以后的每个程序中我们一定会尽自己最大努力,在每 个程序中我都细心地去敲入每个字符,函数调用过程中先想明白在往上面写。我们一定会继 续努力,不辜负父母和老师对我的期望! 致谢 本文是在曹福毅老师和李波老师的热情关心和指导下完成的。从课程设计的前期准备工 作到最后的修改,还得到了老师提出的许多宝贵的意见和建议,使我们小组受益非浅。特别 是在最后的测试修改阶段,给我提了很多建议,使我能顺利的完成课程设计。在短暂的两周 的相处时间里,老师渊博的知识、敏锐的思路和实事求是的工作作风给我留下了深刻的印象, 这促使我们小组有了很大的进步,谨此向我的指导老师表示衷心的感谢和崇高的敬意。 在论文完成过程中,我们还得到了很多同学的热心帮助,他们在我们做课程设计的这段 时间,给予我帮助与支持,这也是我能顺利完成课程设计的重要因素。本人向他们表示深深 的谢意! 我们也要感谢和我一起学习共同进步的其他同学,有不会的问题我也常常请教身边的同 学。合作的学习模式我们间形成了深厚的友谊以及合作精神。这对我们将来的学习生活和工 作生活将产生积极的影响。只有团结协作才能更好的完成任务目标。 最后向在百忙之中评审本文的老师表示衷心的感谢! 参考文献 1范策等编著.算法与数据结构(C 语言版) .北京:机械工业出版社,2004 2徐孝凯编著.数据结构实用教程(第二版) .北京:清华大学出版社,2006 3徐孝凯.数据结构辅导与提高实用教程(第二版) .北京:清华大学出版社,2003 4胡学刚.算法与数据结构算法设计指导.北京:清华大学出版社,1999 5张乃孝等.数据结构C+与面向对象的途径.北京:高等教育出版社,2001 6耿国华等.数据结构C 语言描述.西安:西安电子科技大学出版社,2002 7殷人昆.数据结构用面向对象方法与 C+语言描述.北京:清华大学出版社, 2007 8李春葆.数据结构(C 语言)习题与解析.北京:清华大学出版社,2002 9邓俊辉.数据结构与算法(Java 描述) .北京:机械工业出版社,2006 10张乃笑.数据结构与算法.电子工业出版社.2004.10 11张乃孝等.数据结构C+与面向对象的途径.北京:高等教育出版社,2001 12苏德富.计算机算法设计与分析.北京:电子工业出版社,2001
展开阅读全文