数据结构-课程设计指导书.doc
《数据结构-课程设计指导书.doc》由会员分享,可在线阅读,更多相关《数据结构-课程设计指导书.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课程设计指导书胡 振 华湖南城市学院数学与计算科学系2013.9一课程设计的目的软件设计能力培养对学生是很重要。通过数据结构的学习,使学生对软件编程能力有一定的提高。数据结构学习是锻炼学生在进一步掌握模块化、结构化程序设计的方法的同时,培养学生运用已学知识分析问题、解决问题及编写实用程序的能力,通过对线性化、层次化、网络化数据结构的了解进一步掌握自然数据的结构方式及组织方式,让学生深入体会存储在计算机中的数据及程序,如何运用数据实现编程。课程设计是数据结构课程教学必不可缺的一个重要环节,它可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。通过课程
2、设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。主要目的如下:1 通过不同类型的程序设计使学生学会分析数据如何组织,进一步掌握数据的几种不同的存储方式。2 为专业课的深入学习和毕业设计打基础。二课程设计的任务和要求本次设计是为加强学生的软件编程能力而进行的专门训练。选题考虑到学生在数据结构中学过的各种算法、数据组织方式进行选题,考虑数据结构算法所涉及的操作系统、网络、编译方法等中的实例,进行设计。下面是课程设计待选题目共44题。按学号相应选题,如:学号为01选择1题。分析题目,完成相应题目的程序设计。注:每班学生最多38人,后面的题目稍难,有能
3、力的同学可选3844题。题目: 1. 键盘输入一个含有括号的四则运算表达式,可能含有多余的括号,编程整理该表达式,去掉所有多余的括号,原表达式中所有变量和运算符相对位置保持不变,并保持与原表达式等价。2.请设计一个有效的算法,可以进行两个n位大整数的乘法运算。3请设计一个算法,把二叉树的叶子结点按从左到右的顺序连成一个单链表。二叉树用二叉链存储,链接时用叶子结点的rchild 域存放指针。4. 给定两个序列X=和Y=,要求找出X和Y的一个最长公共子序列。5. 分子式是用来表达分子组成结构的表达式,一般表达形式为A1c1A2c2A3c3. 其中Ai(i=1,2,.)表示原子或原子团,ci(i=1
4、,2,.)表示原子或原子团Ai重复的次数。当ci=1时,ci必须省略不写,且原子团的括号也不要。例如N的原子量为14,H的原子量为1,C的原子量为12,O的原子量为16,因此(NH4)2CO3的分子量为(14+1*4)*2+12+16*3=96。试编写程序求出给定的各个分子式所对应的分子量。6设一单向链表的头指针为head,链表的记录中包含着整数类型的key域,试设计算法,将此链表的记录按照key递增的次序进行就地排序.(不允许使用数组做辅助存储)7擦数游戏在黑板上从1开始写出一组连续的自然数,然后擦去其中的一个数k,其余的数的平均值为a/b(a,b为整数)。试编写程序求出被擦去的数k。8基数
5、排序9连通无向图的非递归遍历。10求二叉树根结点到指定结点的路径。11判别给定的二叉树是否为二叉排序树。12已知二叉树的中序和先序序列,求后序序列。 13. 拓扑排序14对一个存储为邻接表的图,给出求其所有连通分量。15试修改起泡排序,以交替的正、反两个方向进行扫描。即第一趟把排序码最大的记录放到最末尾,第二趟把排序码最小的记录放到最头上。如此反复进行。16矩阵A中的元素若满足:Ai,j是第i行中值最小的元素,且又是第j列中值最大的元素,则称元素Ai,j为该矩阵的一个马鞍点。求出mn矩阵的所有马鞍点。17最小生成树(普里母算法实现 28题用其他算法实现)18. 迷宫求解:在迷宫中求一条路径的算
6、法,基本思想:若当前、位置可通过,则压入栈中,否则探索下一位置,若走不通,则回溯,迷宫大小:M*N。迷宫设置自定义。19设明文P=P0P1P2Pn和密钥K=K0K1K2Km(n=m)中的字符Pi(1=i=n)或Kj(1=j=m)的ASCII为007FH,用密钥K对明文P进行加密得到密文C=C0C1C2Cn, 用密钥K对密文C解密得到明文P。加密: Ci=Pi+Kj (j=i mod (m+1) (当Ci7FH)解密: Pi=Ci-Kj (j=i mod (m+1) (当Ci=Kj) Pi=Ci-Kj+80H (j=i mod (m+1) (当CiKj)20求二叉树中指定两个结点共同的祖先。21
7、哈夫曼编码:根据字符使用权值不同,设计最优的二进制编码,初使条件:已知N个权值。实现顺序:先构造哈夫曼树,然后再求各叶结点的编码。22判别给定的二叉树是否是完全二叉树。23关键路径24处理器中有一就绪队列,若干个进程依到达的时刻依次进入就绪队列,每个进程有进程名和处理器处理此进程的所需空间,仿静态链表形式分配内存所需空间,编程序实现内存分配算法。25. 求一个表达式的逆波兰式26. 汉诺塔非递归算法27. 已知二叉树的中序和后序序列,求先序序列。28. 最小生成树29. 求树的宽度所谓宽度是指在二叉树的各层上,具有结点数最多的那一层上的结点总数。30. 堆排序的实现:在顺序结构上完成,先建堆然
8、后重建堆,最后实现全部排序31. 万年历:通过给定的年,求该年的日历,闰年算法:Y%4 &!Y%100|Y%4000 32. 归并排序算法:用两路归并算法,实现N个无素的排序33. 求子串在主串中的位置并置换子串:给定主串和子串,显示出子串在主串中的第一个位置,基子串在主串中不存在,则返0;若非零则用给定的串替换子串。34. 内存分配算法:利用静态链表,模拟实现内存分配35. 最短路径 求图中任意两点间的最短路径 36. 约瑟夫环37. 学籍管理 对学生、课程、成绩分别建立三个数据文件(学生、课程、成绩属性自定)。查询某个学生的选课情况成绩不及格的学生情况对课程名按不及格学生人数进行排序建立模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 指导书
限制150内