资源描述:
《数据结构与算法课程设计题目》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构与算法课程设计一、课程设计的目的、要求和任务本课程设计是为了配合《数据结构与算法》课程的开设,通过设计完整的程序,使学生掌握数据结构的应用、算法的编写等基本方法。1.课程的目的是:(1)使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。(2)使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。(3)使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力;2.课程的基本要求与任务是:(1)巩固和加深对数据结构基本知识的理解,提高综合运用课程知识的能力。(2)培养学生自学参考书籍,
2、查阅手册、图表和文献资料的能力。(3)通过实际课程设计,初步掌握简单软件的分析方法和设计方法。(4)了解与课程有关的工程技术规范,能正确解释和分析实验结果。(5)题目具有足够的工作量。二、课程设计的一般步骤:(1)划分课程设计小组:由不超过5名同学自由组成一个课程设计小组,设组长一名。(2)选题与搜集资料:每个课程设计小组在参考选题中至少选择3道课题,并保证线性表、栈、队列与递归算法设计和树、图及其应用均有一道;(3)分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的数据结构、并在此基础上进行实现程序功能的算法设计。(3)程序设计:运用掌握C++/Java/C#语言编写程
3、序,实现所程序的各个模块功能。(4)调试与测试:调试程序,并记录测试情况。(5)完成课程设计报告。(6)验收与评分:指导教师对每个同学的开发的系统进行综合验收。三、课程设计报告的规范课程设计报告(3000字以上,每个题目1000字以上)要求规范书写,应当包括如下8个部分:(1)问题描述:描述要求编程解决的问题。(2)基本要求:给出程序要达到的具体的要求。(3)算法思想:描述解决相应问题算法的设计思想。(4)模块划分:描述所设计程序的各个模块(即函数)功能。(5)数据结构:给出所使用的基本抽象数据类型,所定义的具体问题的数据类型,以及新定义的抽象数据类型。(6)源程序:给出所有源程序清单,要求程
4、序有充分的注释语句,至少要注释每个函数参数的含义和函数返回值的含义。(7)测试数据:设计测试数据,或具体给出测试数据。要求测试数据能全面地测试所设计程序的功能。(8)测试情况:给出程序的测试情况,并分析运行结果四、成绩评定标准学生成绩以优、良、中、及格和不及格5个等级评定。(1)学生编写的实际软件和运行结果,占总成绩50%;(2)设计报告,占总成绩50%。五、附课程设计题目各小组可另选题目,经指导老师认可后正式作为课程设计题目。ProgrammingProjects3.5P1模拟飞机场ProgrammingProjects4.5P1多项式计算器ProgrammingProjects5.3P1八
5、皇后问题ProgrammingProjects7.2P1查找算法测试程序ProgrammingProjects8.2P1排序算法测试程序ProgrammingProjects10.2P2二叉树演示程序ProgrammingProjects10.4P2AVL树演示程序ProgrammingProjects11.3P1B-树演示程序数据结构课程设计参考题目类型一线性表、栈、队列与递归算法设计1.约瑟夫环[问题描述]约瑟夫(Joeph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开
6、始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。[基本要求]利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。[测试数据]m的初值为20;密码:3,1,7,2,4,8,4(正确的结果应为6,1,4,7,2,3,5)。[实现提示]程序运行后首先要求用户指定初始报数上限值,然后读取各人的密码。设n≤30。2、长整数运算[问题描述]设计一个程序实现两个任意长的整数求和运算。[基本要求]利用双项循环链表实现长整数的存储,每个结点含一个整型变量。任何整型变量的范
7、围是-(215-1)~(215-1)。输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。[测试数据](1)0;0;应输出“0”。(2)-2345,6789;-7654,3211;应输出“-1,0000,0000”。(3)-9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”。(4)1,0001,000;-1,0001,0001;应输出“