《数据结构》课程设计任务书 .doc
《《数据结构》课程设计任务书 .doc》由会员分享,可在线阅读,更多相关《《数据结构》课程设计任务书 .doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、南京工程学院课程设计任务书 课 程 名 称 数据结构 院(系、部、中心) 计算机工程学院 专 业 计算机科学与技术 班 级 起 止 日 期 指 导 教 师 叶核亚 1课程设计应达到的目的课程设计是巩固所学理论知识、提高程序设计能力的重要实践环节。数据结构课程设计的目的是,深入理解数据结构的基本理论,掌握对数据结构各种操作的算法设计方法,增强对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力,在实践中培养独立分析问题和解决问题的作风和能力。2课程设计题目及要求数据结构课程设计的要求是,综合运用数据结构的基础知识和算法设计的基本原则,独立编制一个具有中等规模的、一定难度的、
2、解决实际问题的应用程序;通过题意分析、选择数据结构、算法设计、编制程序、调试程序、软件测试、结果分析、撰写课程设计报告等环节完成软件设计的全过程,完善算法并提高程序性能。参考选题及要求说明如下,选题次序的规则由各班级约定,要求每人一题,不重复,带*题较难。(1) 可重复的无序集合运算使用顺序表表示可重复的无序集合,元素间有次序、可重复、不排序,实现集合抽象数据类型Set(见第1章)声明的插入元素、删除元素、判断元素属于集合、集合比较相等、集合包含、集合并、集合差、集合保留等多种运算,并分析算法效率。题意详见主教材第286页。(2) 可重复的有序集合运算使用循环双链表表示可重复的有序集合,元素间
3、有次序、可重复、按升序或降序排列,集合并运算采用归并排序算法,实现集合抽象数据类型Set声明的各种操作,分析算法效率。(3) 不可重复的无序集合运算使用散列表表示不可重复的无序集合,元素间没有次序,元素关键字不重复,不排序,实现集合抽象数据类型Set声明的各种操作,分析算法效率。(4) 不可重复的有序集合运算使用二叉排序树表示不可重复的有序集合,元素关键字不重复,元素按关键字的指定顺序排序,实现集合抽象数据类型Set声明的各种操作,分析算法效率。(5) 多边形表示和运算(顺序表)声明多边形类Polygon,使用顺序表存储多边形的多个坐标点Point类,支持插入、删除点,实现求多边形周长、面积等
4、运算,以及共用边的两个多边形合并等操作,分析算法效率。(6) 多边形表示和运算(单链表)(7) 多边形表示和运算(循环双链表)(8) 学生成绩表的存储和管理(顺序表)声明学生类Student,使用顺序表存储和管理学生成绩表,实现以下功能: 提供学生对象的插入、删除、查找操作。 存储和管理学生的多门课程成绩。 提供学生成绩查询操作。 提供统计指定课程的平均值功能。 提供指定课程按优秀、良好、中等、及格、不及格五个等级统计人数功能。 指定学生成绩表按学号排序,或按成绩排序。 将学生信息写入记录文件,并能够从记录文件中读取学生信息。(9) 学生成绩表的存储和管理(单链表)(10) 学生成绩表的存储和
5、管理(双链表)(11) 学生成绩表的存储和管理(循环双链表)(12) 学生成绩表的存储和管理(索引单链表(类似图的邻接表)(13) 学生成绩表的存储和管理(二叉排序树)(14) 二元多项式的表示和运算(排序顺序表)使用排序顺序表存储二元多项式,实现二元多项式相加和相乘等运算,分析算法效率。(15) 二元多项式的表示和运算(排序单链表)使用排序单链表存储二元多项式,参考图2.24,实现二元多项式相加和相乘等运算,分析算法效率。(16) 二元多项式的表示和运算(排序循环双链表)(17) 三元多项式的表示和运算(排序顺序表)使用排序顺序表存储三元多项式,实现三元多项式相加和相乘等运算,分析算法效率。
6、(18) 三元多项式的表示和运算(排序单链表)(19) 三元多项式的表示和运算(排序循环双链表)(20) *m元多项式的表示和运算(21) 字符串查找和替换实现文本文件的查找和替换字符串功能,并设置区分大小写、全字匹配、使用通配符等选项。(22) 使用栈计算表达式值改进例4.2计算表达式值,要求同时使用运算符栈和操作数栈,省略转换成后缀表达式过程,并增加关系等运算符,为各运算符约定优先级,设置若干优先级。将运算符及其优先级声明为运算符对象。(23) 使用栈走迷宫迷宫题意见实验4,指定迷宫大小、入口及出口位置和初始状态等,使用栈作为辅助结构演示走迷宫的过程和结果,并求多条路径。(24) 使用队列
7、走迷宫(25) 求解素数环问题的所有解完善例4.3,给定一个初始序列,采用回溯法求解素数环问题的所有解。(26) *用递归算法求表达式值表达式的BNF语法定义见实验4。要求增加关系等运算符,为各运算符约定优先级,设置若干优先级。将运算符及其优先级声明为运算符对象。(27) 矩阵类例5.2矩阵类增加深拷贝构造函数、矩阵相加(+)、矩阵转置、判断三角矩阵、判断对称矩阵、判断矩阵相等、矩阵相乘等功能。(28) 压缩存储下三角矩阵例5.3压缩存储的下三角矩阵类增加构造、相加等功能。(29) 压缩存储上三角矩阵使用三角形的动态二维数组压缩存储上三角矩阵,实现构造函数、深拷贝、矩阵相加(+=和+)、比较相
8、等、转置等功能。(30) 稀疏矩阵三元组顺序表稀疏矩阵三元组顺序表类增加深拷贝构造函数、矩阵相加(+)、比较相等、转置等功能。(31) 稀疏矩阵三元组顺序表使用排序顺序表作为成员变量声明稀疏矩阵三元组顺序表类,实现构造、深拷贝、矩阵相加(+=和+)、比较相等、转置等功能。(32) 稀疏矩阵三元组单链表声明稀疏矩阵三元组单链表类,实现构造、深拷贝、矩阵相加(+=和+)、比较相等、转置等功能。(33) 稀疏矩阵行的单链表稀疏矩阵行的单链表类,增加深拷贝、矩阵相加(+)、比较相等、转置等功能。(34) 稀疏矩阵列的单链表声明稀疏矩阵三元组列的单链表类,实现构造、深拷贝、矩阵相加(+=和+)、比较相等
9、、转置等功能。(35) *稀疏矩阵三元组十字链表声明稀疏矩阵三元组十字链表类,实现构造、深拷贝、矩阵相加(+=和+)、比较相等、转置等功能。(36) *不带表名的广义表声明以广义表双链表示不带表名的广义表类,实现广义表的遍历、插入、删除、查找原子、比较相等、复制等操作;并增加功能,使之能表示递归表。(37) *带表名的广义表声明以广义表双链表示带表名的广义表类,实现广义表的遍历、插入、删除、查找原子、比较相等、复制等操作;并增加功能,使之能表示递归表。(38) 求二叉树中两结点最近的共同祖先结点采用二叉链表表示二叉树,返回两结点最近的共同祖先结点,判断是否子树。(39) 求一棵二叉树的所有直径
10、及其路径长度(40) 静态三叉链表表示的二叉树声明静态三叉链表(图6.14)表示的二叉树类,实现第6章二叉树的基本操作,以及求最近祖先结点、求直径、以广义表构造并输出二叉树、判断是否为完全二叉树等操作,并与二叉链表存储结构进行比较。(41) *表达式二叉树采用创建表达式二叉树(见图6.9)的方法计算表达式值。要求增加关系等运算符,为各运算符约定优先级,设置若干优先级。将运算符及其优先级声明为运算符对象。(42) 中序线索二叉树采用带头结点的二叉链表结构表示中序线索二叉树,实现插入、删除、求父母结点等操作。(43) 先序线索二叉树构造先序线索二叉树,实现求后继结点、遍历、插入、删除、求父母结点等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 数据结构课程设计任务书 课程设计 任务书
限制150内