资源描述:
《《数据结构与算法分析课程设计》任务书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2012级数据结构与算法分析课程设计任务书(适应于2012级软件工程专业12201813-15、12201820-21、12221001-3班)一、课程设计的目的与要求1.教学目的《数据结构与算法设计》课程设计是软件工程、网络工程、数字媒体技术专业学生的重要实践性环节。通过本课程设计,学生可以了解数据结构、算法设计的基本方法与基本原理,掌握软件设计中数据的组织,算法的设计,为今后从事实际工作打下基础。同时,作为整个实践教学体系一部分,系统培养学生采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。2.教学要求从课程设计的目的出发,通过设
2、计工作的各个环节,达到以下教学要求:1.掌握各类基本数据结构及其实现;2.掌握不同数据结构的实际应用;3.培养利用数据结构并对实际应用问题进行算法设计的能力。4.编程简练,程序功能齐全,能正确运行。5.说明书、流程图要清楚,规范6.课题完成后必须按要求提交课程设计报告,格式规范,内容详实。二、课程设计的内容与安排序号项目名称内容提要时间安排目的要求教学方式1宿舍管理查询系统为宿舍管理人员编写一个宿舍管理查询软件,建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)查询菜单: (用二分查找实现以下操作)A.按
3、姓名查询 B.按学号查询 C.按房号查询1周掌握顺序表、链表实现线性表的基本操作。室内指导2文章编辑功能:输入一页文字,程序可以统计出文字、数字、空格的个数。1周1.掌握结构体数组的表示和存储。2. 掌握线性室内指导静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式
4、:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章; 表的存储和操作。3.掌握文件的操作。3散列表的设计与实现设计散列表实现电话号码查找系统:1)设每个记录有下列数据项:电话号码、用户名、地址;2)从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;3)采用一定的方法解决冲突;4)查找并显示给定电话号码的记录;5)查找并显示给定用户名的记录。1周1.掌握结构体数组的表示和存储。2. 掌握链表的存储和操作。3.掌握文件的操作。室内指导4二叉树操作1.已
5、知二叉树的后序、中序序列,恢复此二叉树;2.求二叉树高度、分支结点数和叶子结点数;3.插入结点到指定位置、删除指定结点;4.将二叉树中所有结点的左右子树交换。5.对二叉树进行层序、非递归中序遍历。1周1.掌握二叉树的概念和性质2. 掌握任意二叉树存储结构。3.掌握任意二叉树的基本操作。室内指导5哈夫曼树与哈夫曼码1.输入一个文本,统计各字符出现的频度,输出结果2.使用字符出现的频度构造哈夫曼树3.确定和输出各字符的哈夫曼码1周1.掌握哈夫曼树的建树原理2. 掌握哈夫曼树与哈夫曼码逻辑结构和存储结构。3.掌握哈夫曼树与哈夫曼码的基本操作。室内指导4.
6、输入一个由0和1组成的代码序列,翻译并输出与之对应的文体,若最后的代码子序列不能译为文本,则输出相关信息6字符串的操作(1)字符串采用数组存储,建立两个字符串String1和String2。输出两个字符串。(2)将字符串String2的头n个字符添加到String1的尾部。输出结果。(3)查找串String3在串String1中的位置,若String3在String1中不存在,则插入String3在String1中的m位置上。输出结果。(4)求任意子字符串SUBSTR及删除子字符串。(5)求字符串的单词个数。1周1.掌握顺序表的建立。2.掌握顺序表
7、的基本操作。3.掌握串的基本操作。室内指导7实现两个链表的合并设计内容和要求:(1)建立两个链表A和B,链表元素个数分别为m和n个。(2)假设元素分别为(x1,x2,…xm),和(y1,y2, …yn)。把它们合并成一个线形表C,使得:当m>=n时,C=x1,y1,x2,y2,…xn,yn,…,xm当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn输出线形表C(3)用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。(4)能删除指定单链表中指定位子和指定值的元素。1周1.掌握线性链表的建立。2.掌握线性链表的基本操作。室内指导8
8、图的广度遍历对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用队列的五种基本运算(置空队列、进队、出队、取