数据结构课程设计一、教学目的和要求数据结构是计算机科学的算法理论基础和软件设计的技术基础。数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。要求学生掌握数据结构的应用、算法的编写、类C语言的算法转换成C(C++)程序并上机调试的基本方法。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。培养学生综合运用所学理论知识解决复杂实际问题的实践能力、研究性学习能力和团队合作能力。二、课程设计的题目1、校园导游咨询系统的设计与实现2、火车售票系统的设计与实现3、学生成绩管理系统的设计与实现4、长整数的加法运算的设计与实现5、通讯录管理系统的设计与实现6、简单目录管理系统的设计与实现7、哈夫曼树及其编码的设计与实现8、车厢调度问题的设计与实现9、集合的并、交和差的实现10、拓扑排序的实现三、数据结构课程设计的具体内容1、校园导游咨询系统的设计与实现任务:设计一个校园导游程序,所含景点不少于10个。为来访的客人提供各种信息查询服务,比如提供图中任意景点的问路查询,景点信息的查询及参观所有景点最短路径等。2、火车售票系统的设计与实现任务:通过此系统可以实现售票、退票、车票剩余情况查询等功能。每张车票包含车次、座位等信息。要求:在售票、退票、查询剩余票等环节中,都必须显示出车票的信息,即车次、座位等情况。3、学生成绩管理系统的设计与实现任务:该系统能够实现对学生成绩的常用管理功能:比如成绩的查询、修改、删除,查询某门课程的平均分,学生的排名,不同分数段的学生人数及学生信息等等。要求:对每个功能分别用函数实现。4、长整数的加法运算的设计与实现任务:1利用双向循环链表存储结构存储长整数,每个结点含一个整型变量。2任何整型变量的范围是-(2^15-1)~(2^15-1)。3输入和输出形式按照中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。5、通讯录管理系统的设计与实现任务:完成通讯录的一般性管理工作:记录的增加、修改、删除、查找和输出等功能。每个记录包含姓名、电话号码、住址等个人信息。要求:将建立的通讯录按照字母顺序存储,可以磁盘文件的形式存储也可直接放在内存。在查找时,以记录的“姓名”为关键字进行查找。6、简单目录管理系统的设计与实现任务:设计并实现一个简单的目录管理系统,该系统可以对系统中所有目录进行管理,如新建、删除、查询、修改目录名称、按某种顺序输出所有目录、以树型结构输出所有目录等功能。。要求:采用树型结构。7、哈夫曼树及其编码的设计与实现任务:为双工信道(即可以双向传输信息的信道)编写一个哈夫曼码的编/译码系统,发送前通过一个编码系统对待传数据预先编码,接收后将传来的数据进行译码(复原)。要求:一个完整的系统应具有以下功能:I:初始化(Initialization);E:编码(Encoding);D:译码(Decoding);P:打印代码文件(Print);T:打印哈夫曼树(Treeprinting)。8、车厢调度问题的设计与实现任务:假设停在铁路调度站入口处的车厢系列的编号依次为1,2,3,…n。设计一个程序,求出所有可能由此输入序列输出的长度为n的车厢序列。要求:程序对栈的任何操作必须采用基本操作实现。9、集合的并、交和差的实现任务:集合的元素限定为小写字母[′a′….′z′],集合的大小n<27。集合输入的形式为一个以"回车符"为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序应能自动滤去。输出的运算结果字符串中将不含重复字符或非法字符。10、关键路径的实现任务:对于任意给定的工程的施工图,找出影响该工程进度的关键子工程。课程设计要求1、选好题目:每人一题或两人一题(尽量不要两人一题),如果两人做一题,首先明确分工(每人要做的任务),选题不要太集中,学习委员协调(或学号除以题目个数取余)。2、独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。注意:一旦发现原封不动的使用网上下载或某个书籍中的源代码和/或课程设计报告的,成绩为不及格。3、做好上机准备:非上机时间完成源程序和课程设计报告等文档书写...