《数据结构与算法分析课程设计》任务书2012版.doc
《《数据结构与算法分析课程设计》任务书2012版.doc》由会员分享,可在线阅读,更多相关《《数据结构与算法分析课程设计》任务书2012版.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2012级数据结构与算法分析课程设计任务书 (适应于2012级软件工程专业12201801-3,12201807-9班)一、课程设计的目的与要求1教学目的数据结构与算法设计课程设计是软件工程、网络工程、数字媒体技术专业学生的重要实践性环节。通过本课程设计,学生可以了解数据结构、算法设计的基本方法与基本原理,掌握软件设计中数据的组织,算法的设计,为今后从事实际工作打下基础。同时,作为整个实践教学体系一部分,系统培养学生采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。2教学要求从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:1掌握各类基本数据结构及其实现;2掌握不同
2、数据结构的实际应用;3培养利用数据结构并对实际应用问题进行算法设计的能力。4编程简练,程序功能齐全,能正确运行。5说明书、流程图要清楚,规范6课题完成后必须按要求提交课程设计报告,格式规范,内容详实。二、课程设计的内容与安排序号项目名称内容提要时间安排目的要求教学方式1宿舍管理查询系统为宿舍管理人员编写一个宿舍管理查询软件,建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) 查询菜单:(用二分查找实现以下操作) A. 按姓名查询 B. 按学号查询 C. 按房号查询1周掌握顺序表、链表实现线性表的基本操作。室内指导2文章编辑功能:输入一页文字,程序可以统
3、计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。 输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出全部字母数、数字个数、空格个数、文章总字数(3)输出删除某一字符串后的文章;1周1掌握结构体数组的表示和存储。 2.掌握线形表的存储和操作。 3掌握文件的操作。室内指导3散列
4、表的设计与实现设计散列表实现电话号码查找系统:1) 设每个记录有下列数据项:电话号码、用户名、地址; 2) 从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表; 3) 采用一定的方法解决冲突; 4) 查找并显示给定电话号码的记录; 5) 查找并显示给定用户名的记录。1周1掌握结构体数组的表示和存储。 2.掌握链表的存储和操作。 3掌握文件的操作。室内指导4算术运算式的转换及求值1)对中序输入串进行合法性判断,若不合法重新输入,否则建立表达式二叉树。 2)转换为后缀表达式(逆波兰式) 3)转换为前缀表达式(波兰式) 4)计算表达式的值 5)输出计算结果及转换后串。1周1掌握二叉树的概念和
5、性质及基本操作 2.掌握栈的概念和操作室内指导5二叉树操作1 已知二叉树的后序、中序序列,恢复此二叉树; 2 求二叉树高度、分支结点数和叶子结点数; 3插入结点到指定位置、删除指定结点; 4将二叉树中所有结点的左右子树交换。 5对二叉树进行层序、非递归中序遍历。1周1掌握二叉树的概念和性质 2.掌握任意二叉树存储结构。 3掌握任意二叉树的基本操作。室内指导6哈夫曼树与哈夫曼码1输入一个文本,统计各字符出现的频度,输出结果 2使用字符出现的频度构造哈夫曼树 3确定和输出各字符的哈夫曼码 4输入一个由0和1组成的代码序列,翻译并输出与之对应的文体,若最后的代码子序列不能译为文本,则输出相关信息1周
6、1掌握哈夫曼树的建树原理 2.掌握哈夫曼树与哈夫曼码逻辑结构和存储结构。 3掌握哈夫曼树与哈夫曼码的基本操作。室内指导7字符串的操作(1) 字符串采用数组存储,建立两个字符串String1和String2。输出两个字符串。 (2) 将字符串String2的头n个字符添加到String1的尾部。输出结果。 (3) 查找串String3在串String1中的位置,若String3在String1中不存在,则插入String3在String1中的m位置上。输出结果。 (4) 求任意子字符串SUBSTR及删除子字符串。 (5) 求字符串的单词个数。1周1掌握顺序表的建立。 2掌握顺序表的基本操作。 3
7、掌握串的基本操作。室内指导8实现两个链表的合并设计内容和要求:(1) 建立两个链表A和B,链表元素个数分别为m和n个。 (2) 假设元素分别为(x1,x2,xm),和(y1,y2,yn)。把它们合并成一个线形表C,使得: 当m=n时,C=x1,y1,x2,y2,xn,yn,xm 当nm时,C=y1,x1,y2,x2,ym,xm,yn 输出线形表C (3) 用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。 (4) 能删除指定单链表中指定位子和指定值的元素。1周1掌握线性链表的建立。 2掌握线性链表的基本操作。室内指导9图的广度周游对任意给定的图(顶点数和边数自定),建立它的邻接表并输
8、出,然后利用队列的五种基本运算(置空队列、进队、出队、取队头元素、判队空)实现图的广度优先搜索周游。1周1掌握图的邻接表存贮结构。 2掌握队列的基本运算实现。 3掌握图的邻接表的算法实现。 4掌握图的广度优先搜索周游算法实现。室内指导10图的深度周游对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用堆栈的五种基本运算(清空堆栈、压栈、弹出、取栈顶元素、判栈空)实现图的深度优先搜索周游1周1掌握图的邻接表存贮结构。 2掌握堆栈的基本运算实现。 3掌握图的邻接表的算法实现。 4掌握图的深度优先搜索周游算法实现。11成绩管理问题描述:给出n个学生的考试成绩表,成绩表包括学生的学号、姓
9、名、考试成绩(高等数学、英语、物理),设计一个简单的成绩管理程序。基本要求:(1)建立成绩表,能够插入、删除、修改学生的成绩记录;(2)按任一单科成绩排序;(3) 计算每名学生的平均成绩;(4) 统计任一单科成绩不及格的学生人数, 输出不及格人数及不及格的学生名单(5) 根据平均成绩将成绩表按由高到低的次序排列,统计每名学生在考试中获得的名次,分数相同的为同一名次,按名次输出成绩表。(6) 成绩表保存在文件中, 可以从文件读取数据。1周1、 掌握线性表的创建及基本操作;2、 掌握基本排序3、 复习文件相关的操作(1)用顺序结构表示成绩单,完成任务(1)(6),成绩为及格;(2)用链表表示成绩单
10、,完成任务(1)(6),且软件容错能力强,成绩为中等12一元多项式简单计算问题描述:设计一个简单一元多项式计算器。基本要求:(1)输入并建立多项式; (2)输出多项式; (3)两个多项式相加,输出结果多项式; (4)两个多项式相减,输出结果多项式。1周考核要求:(1)用链表表示多项式,完成任务(1)(4),成绩为及格(2)满足考核(1)的要求,同时能够输入变量的值,计算出多项式的结果,成绩中等,特别注意不能用XN计算,否则等同于没有完成提高要求。13漫游中国问题描述:从任一省会出发,走遍所有省会,给出某种评价指标,然后根据该指标由计算机选择最优的漫游路线。基本要求:(1)建立以省会为节点,以是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构与算法分析课程设计 数据结构 算法 分析 课程设计 任务书 2012
限制150内