数据结构课程设计指导书.doc
《数据结构课程设计指导书.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计指导书.doc(12页珍藏版)》请在沃文网上搜索。
1、目录:Project1(C#+数据结构)课程设计要求Project1(C#+数据结构)课程设计题目1.学生管理系统2.图书馆管理系统3. 航空售票处的服务系统4. 跳马问题5. 运动会6. 建通讯录7. 用扑克牌实现24点游戏8. 哈夫曼编码/译码器9. 一元稀疏多项式计算器10. 停车场管理 11. 停车场管理12. 火车订票系统 13. 五子棋14. 迷宫问题15. 八皇后问题 16. 无向图应用问题17. 中国象棋18. 二叉排序树。用二叉链表作存储结构。19. 二叉排序树。用顺序表(一维数组)作存储结构20. 图的基本操作与实现21. 井字过三关22. 银行财务实时处理系统(二叉排序树
2、的应用)23. 全国交通咨询模拟24. 散列表的设计与实现25. 背包问题的求解26. 内部排序算法的性能分析 28. 哈夫曼编码/译码器29. 改进约瑟夫(Joseph)环问题30. 疏矩阵的操作31表达式翻译 32文章编辑33关键路径问题34以队列实现的仿真技术预测理发馆的经营状况35救护车调度模拟系统Project1(C#+数据结构)课程设计任务流程Project1(C#+数据结构)课程设计学生提交的内容成绩评定方法参考文献样例一Project1(C#+数据结构)课程设计要求学生必须仔细阅读Project1(C#+数据结构)课程设计方案,认真主动完成课程设计的要求。有问题及时主动通过各种
3、方式与教师联系沟通。学生要发挥自主学习的能力,充分利用时间,安排好课程设计的时间计划,设计程序并调试。在课程设计周,主要是进行课程设计的答辩工作,期间也继续进行的调试与完善工作,上机时数通常为1215小时。Project1(C#+数据结构)是一门涉及多门课程的课程,难度较大,需要较好的程序设计和调试能力,如果学生能够按照要求,从时间和精力上保证完全的投入,相信能够有很大的收获,几分投入几分收获。二Project1(C#+数据结构)课程设计题目每组至少完成一个课题,多完成可加附加分。1. 学生管理系统(7)包括:主控程序、学生档案管理子系统、学生成绩管理子系统、学生宿舍管理子系统人数:2人要求:
4、实用,各模块自成系统2. 图书馆管理系统,包括:图书管理子系统、图书借阅子系统、还书子系统、借阅人管理子系统、图书报损子系统等(8)【基本要求】(1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;(2)对书号建立索引表(线性表)以提高查找效率;(3)系统主要功能如下:*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;*归还:注销对借阅者的登记,改变该书的现存量。人数:3人要求:实用3. 航空售票处的服务系统(7)任务:通过此系统可以实现如下功能:(1) 录入:
5、可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)(2) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);(3) 可以输入起飞抵达城市,查询飞机航班情况;(4) 订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;(5) 退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。(6) 修改航班信息:当航班信息改变可以修改航班数据文件。要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。4.
6、 跳马问题,就是64个国际象棋格子,任意位置放一个马,如何不重复地把格子走完。(8)人数:1人要求:实用 5. 运动会(7)题目描述:参加运动会的N个学校编号为1N。比赛分为M个男子项目和W个女子项目,项目编号分别为1M和M+1M+W。由于各项目的参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。基本要求:产生各校的成绩单,内容包括各学校所取得每项成绩的项目号,名次(成绩),姓名和得分;产生团体总分报表,内容包括校号,男子团体总分,女子团体总分和团体总分。测试数据: 对于N=4,M=3,W=2,
7、编号为奇数的项目取前5名,编号为偶数的项目取前3名,设计一组实例数据。提示:可以假设N小于等于20,M小于等于30,W小于等于20,姓名长度不超过20个字符。每个项目结束时,将其编号,类型符(区分取前5名还是3名)输入,并按名次顺序输入运动员姓名,校号(和成绩)。人数:2人要求:实用6.建通讯录(7)要求:第一个模块主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。第二个模块Menu()的功能是:显示英文提示选单。 第三个模块Quit()的功能是:退出选单。第四个模块Create()的功能是:创建新的通讯录。第五个模块Add()的功能是:在通讯录的末尾,写入新的信息,并返
8、回选单。第六个模块Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。第七个模块Alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。第八个模块Delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。第九个模块List()的功能是:显示通讯录中的所有记录。人数:2人要求:实用7. 用扑克牌实现24点游戏。(8)人数:1人要求:实用8. 哈夫曼编码/译码器1(8)【问题描述】设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处
9、理以下项目,直到选择退出为止。【基本要求】(1)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;(2)编码:利用建好的哈夫曼树生成哈夫曼编码;(3)输出编码;(4)译码功能;(5)设字符集及频度如下表:字符 空格 A B C D E F G H I J K L M频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20字符 N O P Q R S T U V W X Y Z 频度 57 63 15 1 48 51 80 23 8 18 1 16 1 【选做内容】(1) 显示哈夫曼树;(2) 界面设计的优化。(3) 哈夫曼编码/译码均用二进制处理。
10、(10)9. 一元稀疏多项式计算器(8)【问题描述】设计一个一元多项式加法器。【基本要求】(1)输入并建立多项式;(2)两个多项式相加;(3)输出多项式:n, c1, e1, c2, e2, cn , en, 其中,n是多项式项数,ci和ei分别是第 i 项的系数和指数,序列按指数降序排列。(4)计算多项式在x处的值;(5)求多项式的导函数。人数:2人要求:实用10. 停车场管理1(8)设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车时间的早晚依次从停车场最里面向大门口停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车
11、场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后近来的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟停车场管理。实现提示:汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如:(A,1,5)表示一号牌照车爱5这个时刻到达,而(D,5,20)表示5号牌照车在20这个时刻离去,整个程序可以在输入信息
12、为(E,0,0)时结束。基本要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。人数:1人要求:实用11.停车场管理2(9)(1) 有一个两层的停车场, 每层有6个车位, 当第一层车停满后才允许使用第二层. ( 停车场可用一个二维数组实现, 每个数组元素存放一个车牌号 ) 每辆车的信息包括车牌号, 层号, 车位号, 停车时间共4项. 其中停车时间按分钟计算(2) 假设停车场初始状态为第一层已经停有4辆车, 其车位号依次为14 , 停车时间依次为20, 15, 10 , 5 . 即先将这四辆车的信息存入文件”car.dat”中(
13、 数组的对应元素也要进行赋值 )(3) 停车操作: 当一辆车进入停车场时, 先输入其车牌号, 再为它分配一个层号和一个车位号(分配前先查询车位的使用情况, 如果第一层有空则必须停在第一层), 停车时间设为5 , 最后将新停入的汽车的信息添加文件”car.dat”中, 并将在此之前的所有车的停车时间加5.(4) 收费管理(取车): 当有车离开时, 输入其车牌号, 先按其停车时间计算费用, 每5分钟0.2元. (停车费用可设置一个变量进行保存), 同时从文件”car.dat”中删除该车的信息, 并将该车对应的车位设置为可使用状态(即二维数组对应元素清零). 按用户的选择来判断是否要输出停车收费的总
14、计.(5) 输出停车场中全部车辆的信息.(6) 退出系统.人数:2人要求:实用12. 火车订票系统 (8)要求:有订票子系统、售票子系统、退票子系统、统计子系统、查询子系统、生成数据子系统人数:3人要求:实用 13.五子棋(9)要求:人机对战人数:2人要求:实用14. 迷宫问题(7.5)问题描述:迷宫实验是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口到出口,而不走错一步。老鼠经多次试验终于得到它学习
15、走迷宫的路线。设计一个计算机程序对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。要求:在给出入口和出口的前提下,给出动态的迷宫行走路线。人数:1人【选做内容】给出所有可行路线。(8)15. 八皇后问题 (7)要求:试编写程序实现将八个皇后放置在国际象棋棋盘的无冲突的位置上的算法,并给出所有的解。提示:在国际象棋上放置皇后时,任何一个皇后的水平、竖直和斜45都不能有另一个皇后。解决该问题采用逐次试探的方法,即采用递归调用putchess函数的方法。首先将第一个皇后放于第一行第一列,然后开始向下一行递归。每一步递归中,首先检测待放置位置是否与已放置的皇后冲突,如不冲突,则进行下
16、一行的放置,否则,选择该行的下一个位置进行检测。如整行的位置都冲突,则回到上一行,重新选择位置。人数:1人 16. 无向图应用问题(7)任务:如果以无向网表示n个城市之间通信网络的建设计划,顶点表示城市,边上的权表示该线路的造价,设计一个方案,使这个通讯网的总造价最低。提示:这是一个求最小生成树的问题。n个城市名和各边的权值由用户输入,建立图的邻接矩阵,然后以Prim算法来求最小生成树,然后输出方案。人数:1人17. 中国象棋(10)要求:人机对战人数:3人(人人对战为2人)要求:实用18. 二叉排序树。用二叉链表作存储结构。(8)要求: (1)以回车(n)为输入结束标志,输入数列L,生成一棵
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 指导书