2011-2012数据结构与算法课程设计计划数学与计算机系[信
更新时间:2024-03-11 05:48:01 阅读量: 综合文库 文档下载
2
《数据结构与算法》课程设计计划
一、设计目的
数据结构与算法课程设计是《数据结构与算法》课程教学必不可缺的一个重要环节,它可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。
二、课程设计任务
7-8人为一个课题组,组长1人,要求每组任选2题,各组不得重复选题且需独立完成课题内容,课题组成员必须清楚课题总体设计,必须分有功能模块并独立完成所分模块程序的编写任务。最终课题组长组织连调,所有成员必须参加。 三、课程设计内容:
1.二叉树的中序、前序、后序的递归、非递归遍历算法,按层次遍历的非递归遍历算法的实现,应包含建树的实现。
===================================================================
2.车厢调度
假设停在铁路调度站入口处的车厢序列的编号一次为1,2,3,4。设计一个程序,求出所有可能由此输出的长度为4的车厢序列。
=================================================================== 3.平衡二叉树的判定
给定一个二叉树的先序遍历或后序遍历结果,判定其是否为平衡二叉树。 ===========================================================================
4.图的基本操作与实现设计要求:
(1)自选存储结构,输入含n个顶点(用字符表示顶点)和e条边的图G (2)求每个顶点的度,输出结果;
(3)指定任意顶点x为初始顶点,对图G作DFS遍历,输出DFS顶点序列(提示:使用一个栈实现DFS);
9
2
(4)指定任意顶点x为初始顶点,对图G作BFS遍历,输出BFS顶点序列(提示:使用一个队列实现BFS);
(5)输入顶点x,查找图G:若存在含x的顶点,则删除该结点及与之相关连的边,并作 DFS遍历(执行操作3);否则输出信息“无x”;
===========================================================================
5.图的算法实现
(1)读入图的信息,建立与其对应的邻接矩阵和邻接表; (2)实现Prim、Kruskal、Dijkstra序算法。
===========================================================================
6.内部排序算法的性能分析
设计要求:设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。
(1)对起泡排序、直接排序、简单选择排序、快速排序、希尔排序、堆排序算法进行比较;
(2)待排序表的表长不小于100,表中数据随机产生,至少用5组不同数据作比较,比较指标有:关键字参加比较次数和关键字的移动次数(关键字交换记为3次移动);
(3)输出比较结果。
===========================================================================
7.AOE网的研究
已知一个AOE网,求其关键路径长度及关键活动有哪些。 8.二叉排序树的实现
(1) 用二叉链表作存储结构,以回车('\\n')为输入结束标志,输入数列L,生成一棵二叉排序树T;
(2)对二叉排序树T作中序遍历,输出结果;
(3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”;
==========================================================================
9.哈夫曼编码/译码器
设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。基本要求如下:
(1)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;
9
2
(2)编码:利用建好的哈夫曼树生成哈夫曼编码; (3)输出编码;
(4)译码:利用编码实现译码。
=================================================================
10.稀疏矩阵应用
分别实现三元组、十字链表下的稀疏矩阵的存储、加法、乘法、转置实现。 =================================================================
11. 串的应用
本设计要求实现的串的存储、求串长、判断串相等、取子串、插入子串、删除子串、串的匹配等。本设计用一个主控菜单程序控制,至少实现以上7个功能。=================================================================
12.构造可以使n个城市连接的最小生成树
给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。基本要求如下:
(1)城市间的距离网采用邻接矩阵表示,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。
(2)表示城市间距离网的邻接矩阵(要求至少6个城市,10条边) (3)最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。 13. 特殊矩阵的压缩存储算法的实现
对于特殊矩阵可以通过压缩存储减少存储空间。基本要求:
(1)针对多种特殊矩阵进行压缩存储,并能显示压缩后的相关地址和值; (2)输入在原来特殊矩阵中的地址,要求能从压缩后的矩阵中读出相应的值; =================================================================
14.算术表达式的求解
给定一个算术表达式,通过程序求出最后的结果。基本要求: (1)从键盘输入要求解的算术表达式; (2)采用栈结构进行算术表达式的求解过程; (3)能够判断算术表达式正确与否; (4)对于错误表达式给出提示;
9
2
(5)对于正确的表达式给出最后的结果;
===========================================================================
15.广义表的应用
由于广义表在结构上较线性表复杂得多,因此,广义表的运算也不如线性表简单。本设计要求实现的广义表的建立、查找、输出、取表头和取表尾以及求深度等。 本设计用一个主控菜单程序控制,至少实现以下6个功能:
(1)建立广义表 (2)输出广义表 (3)结点的查找 (4)求广义表表头 (5)求广义表表尾 (6)求广义表的深度
===========================================================================
四、课程设计的基本要求
1.问题分析和任务定义。根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?
2.逻辑设计。对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。
3.详细设计。定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架。
4.程序编码。把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚。
9
2
5.程序调试与测试。采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。
6.结果分析。程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间复杂性分析。 7.编写课程设计报告并提交相关内容 设计最终需提交的内容包括:
(1)课程设计报告(1份,A4纸打印,同时包括一份电子版)命名格式为:组号+班级+(组长姓名等)+数计系课程设计报告.doc<如1、数计系10信计(石杭等)课程设计报告.doc>
报告要求版面清晰,格式规范,否则重新编写。报告内容要求包括: ①问题的概述、分析及研究意义; ②数据结构的逻辑设计和物理存储设计; ③重要算法的设计、流程描述或伪代码描述;
④数据结构的时空复杂性分析以及重要算法的复杂性分析;
⑤程序最终实现结果(包括重点结果界面的抓取,能够说明问题的重要实验结果数据的打印或其可视化结果等)。 ⑥参考文献(如果需要)。
⑦附录部分附上关键数据结构的定义及关键算法的源代码。 (2)源程序文档(电子方式提交)
源程序代码要求结构清晰、可读性好。应对源程序中的类说明(如果采用面向对象方法设计),函数说明,接口说明,关键变量说明等进行注释;源程序要进行适当的缩进编排。命名格式为:组号+班级+(组长姓名等)+数计系课程设计源程序<如1、数计系10信计(石杭等)课程设计源程序>
(3)所有以电子方式提交的文件全部存在一个目录中,并对其进行压缩(用Winrar或Winzip均可),压缩后的文件按规定格式进行命名,命名格式为:组号+班级+(组长姓名等)+课程设计.rar<如1、数计系10信计(石杭等)课程设计.rar>。 五、评分标准
9
1、基本功能: 50分
通过功能的实现情况进行评分。 2、设计报告: 20分 按照设计报告的要求进行评分。 3、回答问题:
15分 4、课程设计期间考勤: 15分 5、核分标准:
100分
(90~100为优、80~89为良、70~79为中、60~69为及格、,60以下为不及格)六、 设计时间
2011—2012学年第2学期:第 周
这样看起来,反而是朝生暮死的蝴蝶为可羡了。它们在短短的一春里尽情地酣足地在花间飞舞,一旦春尽花残,便爽爽快快地殉着春光化去,好像它们一生只是为了酣舞与享乐而来的,倒要痛快些。青春如流水一般的长逝之后,数十载风雨绵绵的灰色生活又将怎样度过?
是违法问题热也让同样5我也投入与他人啊读后感124204531582114624452001156420153地方 发的供货商啥好烦的人个人太炎热他就如0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009
2
同 0
像人类呢,和谁让000002
0000000000
9
正在阅读:
2011-2012数据结构与算法课程设计计划数学与计算机系[信03-11
浅议农村公路水泥混凝土路面的病害成因03-15
数学与信息科学学院专业介绍 - 305-13
会计电算化条件下的内控制度探析06-04
2014年北京奔驰-戴姆勒·克莱斯勒汽车有限公司汽车在江苏省保有量分析年报 -11-30
中南大学制造工程训练答案05-27
植物保护专业植物病害流行学试题及答案04-05
总结报告-调查报告范文做好企业信用体系建设调查研究报告 精品03-03
党风廉政建设和反腐倡廉重要论述摘编02-22
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 数据结构
- 计算机系
- 算法
- 课程
- 数学
- 计划
- 设计
- 2011
- 2012
- 燃气公司生产运营试题(附答案)
- 2015年度内蒙古锦洋化学工业有限公司销售收入与资产数据报告 -
- 打击两非专项行动工作情况汇报
- 2011高考语文一轮复习考点检测全集之选、仿、变(含详解)
- 统计基础练习题三
- 衡水市人民政府关于建立健全城乡社会救助体系的意见
- 2016-2022年中国冶金专用设备制造行业运营态势及十三五盈利战略
- 2018-2019石家庄大学学费是多少钱-word范文模板(3页)
- 高一生物《生物膜的流动镶嵌模型》教案
- 火线舆情基金行业舆情分析报告(6.17-6.23)
- 燃气轮机发电案例介绍-生物质燃料气发电
- 2018最新机关单位关于申请新增车辆的说明-实用word文档(6页)
- 2016年安徽自主招生地理模拟题:维护海洋权益加强国际合作
- 2013年全国安全生产领域“打非治违”知识竞赛试题答案
- 2018华工接口技术课后作业
- 云南省梁河县第一中学2018-2019学年高一语文上学期第8周周测试题
- 最新RHCE考试真题
- 最新-党代会一次会议主诗词 精品
- 基于SOA的烟草商业信息系统整合研究及应用
- 2018高考全国卷文言文原文及翻译