收藏 分享(赏)

2011-2012[2][数据结构与算法][课程设计计划][数学与计算机系][10][信计][本科].doc

上传人:dzzj200808 文档编号:2288841 上传时间:2018-09-09 格式:DOC 页数:6 大小:42KB
下载 相关 举报
2011-2012[2][数据结构与算法][课程设计计划][数学与计算机系][10][信计][本科].doc_第1页
第1页 / 共6页
2011-2012[2][数据结构与算法][课程设计计划][数学与计算机系][10][信计][本科].doc_第2页
第2页 / 共6页
2011-2012[2][数据结构与算法][课程设计计划][数学与计算机系][10][信计][本科].doc_第3页
第3页 / 共6页
2011-2012[2][数据结构与算法][课程设计计划][数学与计算机系][10][信计][本科].doc_第4页
第4页 / 共6页
2011-2012[2][数据结构与算法][课程设计计划][数学与计算机系][10][信计][本科].doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、1数据结构与算法课程设计计划一、设计目的数据结构与算法课程设计是数据结构与算法课程教学必不可缺的一个重要环节,它可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。二、课程设计任务7-8 人为一个课题组,组长 1 人,要求每组任选 2 题,各组不得重复选题且需独立完成课题内容,课题组成员必须清楚课题总体设计,必须分有功能模块并独立完成所分模块程序的编写任务。最终课题组长组织连调,所有成员必须参加。三、课程设计内容:1二叉树的中序、前序、后序的递归、非递

2、归遍历算法,按层次遍历的非递归遍历算法的实现,应包含建树的实现。=2车厢调度假设停在铁路调度站入口处的车厢序列的编号一次为 1,2,3,4。设计一个程序,求出所有可能由此输出的长度为 4 的车厢序列。=3平衡二叉树的判定给定一个二叉树的先序遍历或后序遍历结果,判定其是否为平衡二叉树。=4.图的基本操作与实现设计要求:(1)自选存储结构,输入含 n 个顶点(用字符表示顶点)和 e 条边的图 G(2)求每个顶点的度,输出结果;(3)指定任意顶点 x 为初始顶点,对图 G 作 DFS 遍历,输出 DFS 顶点序列(提示:使用一个栈实现 DFS);2(4)指定任意顶点 x 为初始顶点,对图 G 作 B

3、FS 遍历,输出 BFS 顶点序列(提示:使用一个队列实现 BFS);(5)输入顶点 x,查找图 G:若存在含 x 的顶点,则删除该结点及与之相关连的边,并作DFS 遍历(执行操作 3);否则输出信息“无 x”;=5.图的算法实现(1)读入图的信息,建立与其对应的邻接矩阵和邻接表;(2)实现 Prim、Kruskal、Dijkstra 序算法。=6.内部排序算法的性能分析设计要求:设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。(1)对起泡排序、直接排序、简单选择排序、快速排序、希尔排序、堆排序算法进行比较;(2)待排序表的表长不小于 100,表中数据随机产生,至

4、少用 5 组不同数据作比较,比较指标有:关键字参加比较次数和关键字的移动次数(关键字交换记为 3 次移动) ;(3)输出比较结果。=7.AOE 网的研究已知一个 AOE 网,求其关键路径长度及关键活动有哪些。8.二叉排序树的实现(1) 用二叉链表作存储结构,以回车(n)为输入结束标志,输入数列 L,生成一棵二叉排序树 T;(2)对二叉排序树 T 作中序遍历,输出结果;(3)输入元素 x,查找二叉排序树 T,若存在含 x 的结点,则删除该结点,并作中序遍历(执行操作 2);否则输出信息“无 x”;=9.哈夫曼编码/译码器设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退

5、出为止。基本要求如下:3(1)初始化:键盘输入字符集大小 n、n 个字符和 n 个权值,建立哈夫曼树;(2)编码:利用建好的哈夫曼树生成哈夫曼编码;(3)输出编码;(4)译码:利用编码实现译码。=10.稀疏矩阵应用分别实现三元组、十字链表下的稀疏矩阵的存储、加法、乘法、转置实现。=11. 串的应用本设计要求实现的串的存储、求串长、判断串相等、取子串、插入子串、删除子串、串的匹配等。本设计用一个主控菜单程序控制,至少实现以上 7 个功能。=12.构造可以使 n 个城市连接的最小生成树给定一个地区的 n 个城市间的距离网,用 Prim 算法或 Kruskal 算法建立最小生成树,并计算得到的最小生

6、成树的代价。基本要求如下:(1)城市间的距离网采用邻接矩阵表示,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。(2)表示城市间距离网的邻接矩阵(要求至少 6 个城市,10 条边)(3)最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。 13. 特殊矩阵的压缩存储算法的实现对于特殊矩阵可以通过压缩存储减少存储空间。基本要求:(1)针对多种特殊矩阵进行压缩存储,并能显示压缩后的相关地址和值;(2)输入在原来特殊矩阵中的地址,要求能从压缩后的矩阵中读出相应的值;=14.算术表达式的求

7、解给定一个算术表达式,通过程序求出最后的结果。基本要求:(1)从键盘输入要求解的算术表达式;(2)采用栈结构进行算术表达式的求解过程;(3)能够判断算术表达式正确与否;4(4)对于错误表达式给出提示;(5)对于正确的表达式给出最后的结果;=15.广义表的应用由于广义表在结构上较线性表复杂得多,因此,广义表的运算也不如线性表简单。本设计要求实现的广义表的建立、查找、输出、取表头和取表尾以及求深度等。本设计用一个主控菜单程序控制,至少实现以下 6 个功能:(1)建立广义表(2)输出广义表(3)结点的查找(4)求广义表表头(5)求广义表表尾(6)求广义表的深度=四、课程设计的基本要求1问题分析和任务

8、定义。根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么? 2逻辑设计。对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。3详细设计。定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基

9、本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架。4程序编码。把详细设计的结果进一步求精为程序设计语言程序。同时加入一些5注解和断言,使程序中逻辑概念清楚。5程序调试与测试。采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。6结果分析。程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间复杂性分析。7编写课程设计报告并提交相关内容设计最终需提交的内容包括:(1)课程设计报告(1 份,A4

10、 纸打印,同时包括一份电子版)命名格式为:组号+班级+(组长姓名等)+数计系课程设计报告.doc报告要求版面清晰,格式规范,否则重新编写。报告内容要求包括:问题的概述、分析及研究意义;数据结构的逻辑设计和物理存储设计;重要算法的设计、流程描述或伪代码描述;数据结构的时空复杂性分析以及重要算法的复杂性分析;程序最终实现结果(包括重点结果界面的抓取,能够说明问题的重要实验结果数据的打印或其可视化结果等) 。参考文献(如果需要) 。附录部分附上关键数据结构的定义及关键算法的源代码。(2)源程序文档(电子方式提交)源程序代码要求结构清晰、可读性好。应对源程序中的类说明(如果采用面向对象方法设计) ,函

11、数说明,接口说明,关键变量说明等进行注释;源程序要进行适当的缩进编排。命名格式为:组号+班级+(组长姓名等)+数计系课程设计源程序(3)所有以电子方式提交的文件全部存在一个目录中,并对其进行压缩(用 Winrar或 Winzip 均可) ,压缩后的文件按规定格式进行命名,命名格式为:组号+班级+(组长姓名等)+课程设计.rar。五、评分标准61、基本功能: 50 分通过功能的实现情况进行评分。2、设计报告: 20 分按照设计报告的要求进行评分。3、回答问题: 15 分4、课程设计期间考勤: 15 分5、核分标准: 100 分(90100 为优、8089 为良、7079 为中、6069 为及格、 ,60 以下为不及格)六、 设计时间20112012 学年第 2 学期:第 周

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报