资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
1 / 8 数据结构课程设计指导书一. 选题要求1. 基本数据结构的操作:设计出相关数据结构的相关函数库,以便在程序设计中调用。2. 相关应用:利用相关函数库描述一个实际问题。3. 每个学生至少选做一题。二. 设计要求 1)编程实现逻辑结构、存储结构及各种基本函数以及常用函数自己确定函数、函数形式及理由)。 2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。4)测试数据:要求使用1、全部合法数据; 2、整体非法数据; 3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明 . 5)所设计的数据结构应尽可能节省存储空间。6)程序的运行时间应尽可能少。三考核要求1. 考勤2. 验收3. 课程设计报告四、设计报告格式及要求:1、题目2、设计目的3、逻辑结构、存储结构定义及相关算法4、应用设计5、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 8 页2 / 8 要问题及采取的解决措施6、课程设计心得及体会7、源程序清单和执行结果:清单中应有足够的注释五课程设计题目 每种书的登记内容包括书号、书名、著作者、现存量和库存量;2 对书号建立索引表 线性表)以提高查找效率 系统主要功能如下: * 采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加; * 借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量; * 归还:注销对借阅者的登记,改变该书的现存量。课题 2:活期储蓄帐目管理:活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:1 能比较迅速地找到储户的帐户,以实现存款、取款记账;2 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要课题 3:猴子吃桃子问题:有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第 10 天就只余下一个桃子。用多种方法实现求出原来这群猴子共摘了多少个桃子。要求:1)采用数组数据结构实现上述求解精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 8 页3 / 8 2 采用链数据结构实现上述求解3 采用递归实现上述求解4 可扩展采用 4 种以上方法课题 4:敢死队问题:有 M 个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5 时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。排长是不愿意去的,假设排长为1 号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。要求:至少采用两种不同的数据结构的方法实现。 求出此数 x 的 10 进制值 实现对 x 向任意的一个非 M进制的数的转换。 3 至少用两种或两种以上的方法实现上述要求 老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;2 迷宫的墙足够结实,老鼠不能穿墙而过;3 正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败;4 添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙;5 找出走出迷宫的所有路径,以及最短路径;利用序列化功能实现迷宫地图文件的存盘和读出等功能。课题 8:设计一个模拟电梯工作过程的图形演示系统。要求所设计的电梯能符合市场上大多数系统的要求。课题 8:学生搭配问题。一班有 m个女生 , 有 n 个男生 m不等于 n),现要开一个舞会。男女生分别编号坐在舞池的两边的椅子上。每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴。请设计一系统模拟动态地显示出上述过程,要求如下:1)输出每曲配对情况;2)计算出任何一个男生 编号为 X)和任意女生 编号为 Y),在第 K曲配对跳舞的情况至少求出K的两个值;3)尽量设计出多种算法及程序。提示:用队列来解决比较方便. 三)树的操作及应用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 8 页5 / 8 课题 9:树与二叉树的转换的实现。以及树的前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。课题 10:二叉树的中序、前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。课题 11:采用哈夫曼编码思想实现文件的压缩和恢复功能,并提供压缩前后的占用空间之比。要求:1)描述压缩基本符号的选择方法。2)运行时的压缩原文件的规模应不小于5K。3)提供恢复文件与原文件的相同性对比功能。课题 12:设计程序以实现构造哈夫曼树的哈夫曼算法。要求:1)可以使用实验工具的有关功能。2)要能演示构造过程。3)求解出所构造的哈夫曼树的带权路径长度。课题 13:设计程序完成如下功能:对给定的图结构,实现求解最小生成树的Kruskal 算法,并给出求解过程的动态演示。 先任意创建一个图;2 图的 DFS ,BFS的递归和非递归算法的实现3 最小生成树 要求用邻接矩阵、邻接表、十字链表多种结构存储实现精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 8 页6 / 8 课题 15:设计程序完成如下功能:对给定的图结构和起点,产生其所有的深度优先搜索遍历序列,并给出求解过程的动态演示。课题 16:设计程序完成如下功能:对给定的网和起点,实现求解最小生成树的PRIM算法,并给出求解过程的动态演示。课题 17:学校超市选址问题 带权有向图的中心点)设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。请为超市选址,要求实现总体最优。课题 18校园导航问题):设计你的学校的平面图,至少包括10 个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径最短路径)。课题 19马的遍历问题):设计程序完成如下要求:在中国象棋棋盘上,对任一位置上放置的一个马,均能选择一个合适的路线,使得该棋子能按象棋的规则不重复地走过棋盘上的每一位置。要求:1)依次输出所走过的各位置的坐标。2)最好能画出棋盘的图形形式,并在其上动态地标注行走过程。3)程序能方便地地移植到其它规格的棋盘上。课题 20:在 88的国际象棋棋盘上,如果在放置若干个马后,使得整个棋盘的任意空位置上所放置的棋子均能被这些马吃掉,则称这组放置为棋盘的一个满覆盖。若去掉满覆盖中的任意一个棋子都会使这组放置不再是满覆盖,则称这一满覆盖为极小满覆盖。设计程序完成如下要求:要求:1)求解一个极小满覆盖。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 8 页7 / 8 2)最好能画出棋盘的图形形式,并在其上动态地演示试探过程。3)程序能方便地移植到其它规格的棋盘上。课题 21:在中国象棋棋盘上实现上一课题的任务。要求:除了上一课题的要求外,还要考虑到“别腿”的规定。 设每个记录有下列数据项:电话号码、用户名、地址;2 从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;3 采用一定的方法解决冲突;4 查找并显示给定电话号码的记录;5 查找并显示给定用户名的记录。扩展要求: 1 系统功能的完善; 2 设计不同的散列函数,比较冲突率;3 在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。六)排序操作及应用课题 23:给出一组实验来比较下列排序算法的时间性能:快速排序、堆排序、希尔排序、冒泡排序、归并排序其它排序也可以作为比较的对象)要求:1)时间性能包括平均时间性能、最好情况下的时间性能、最差情况下的时间性能等。2) 实 验 数 据 应 具 有 说 服力 , 包 括:规 模 范围 要 大 如 从100 到10000),数据的初始特性类型要多,因而需要具有随机性;实验数据的组数要多,即同一规模的数组要多选几种不同类型的数据来实验。实验结果要能以清晰的形式给出,如图、表等。3)算法所用时间必须是机器时间,也可以包括比较和交换元素的次数。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 8 页8 / 8 4)实验分析及其结果要能以清晰的方式来描述,如数学公式或图表等。5)要给出实验的方案及其分析。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 8 页
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号