《数据结构》课程设计参考题

上传人:第*** 文档编号:56886984 上传时间:2018-10-16 格式:PDF 页数:20 大小:423.62KB
返回 下载 相关 举报
《数据结构》课程设计参考题_第1页
第1页 / 共20页
《数据结构》课程设计参考题_第2页
第2页 / 共20页
《数据结构》课程设计参考题_第3页
第3页 / 共20页
《数据结构》课程设计参考题_第4页
第4页 / 共20页
《数据结构》课程设计参考题_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《《数据结构》课程设计参考题》由会员分享,可在线阅读,更多相关《《数据结构》课程设计参考题(20页珍藏版)》请在金锄头文库上搜索。

1、西南大学计算机与信息科学学院 数据结构课程设计要求 1.学生必须仔细阅读数据结构课程设计题目,认真主动完成课设的要求。有问题及时主动与老师联系沟通。 2.学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况。 3.课程设计完成要求运行界面友好(有菜单) 、操作方便、输出结果正确、可读性强,每种操作有验证性输出。 4.按规定时间(2014-2015 学年第二学期期末考试结束之前)提交课程设计报告,过期计为 0 分。 西南大学计算机与信息科学学院 课程设计实习报告封面的书写格式 课 程 设 计 课程:数据结构 题目: 专业班级: 姓名: 学号: 设

2、计时间: 指导教师: 西南大学计算机与信息科学学院 课程设计报告的内容 一、 设计题目 二、 运行环境(软、硬件环境) 三、 算法设计的思想 四、 算法的流程图 五、 算法设计分析 六、 源代码 七、 运行结果分析 八、 收获及体会 西南大学计算机与信息科学学院 数据结构课程设计参考题 课程设计题一:排序算法比较 一、 设计目的 1 掌握各种排序的基本思想。 2 掌握各种排序方法的算法实现。 3 掌握各种排序方法的优劣分析及花费的时间的计算。 4 掌握各种排序方法所适应的不同场合。 二、 设计内容和要求 利用随机函数产生 30000 个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排

3、序、归并排序等排序方法进行排序,并统计每一种排序上机所花费的时间。 - 课程设计题二:图的深度周游 一、 设计目的 1掌握图的邻接表存贮结构。 2掌握堆栈的基本运算实现。 3掌握图的邻接表的算法实现。 4掌握图的深度优先搜索周游算法实现。 二、设计内容和要求 对任意给定的图(顶点数和边数自定) ,建立它的邻接表并输出,然后利用西南大学计算机与信息科学学院 堆栈的五种基本运算(清空堆栈、压栈、弹出、取栈顶元素、判栈空)实现图的深度优先搜索周游。 - 课程设计题三:图的广度周游 一、设计目的 1掌握图的邻接表存贮结构。 2掌握队列的基本运算实现。 3掌握图的邻接表的算法实现。 4掌握图的广度优先搜

4、索周游算法实现。 二、设计内容和要求 对任意给定的图(顶点数和边数自定) ,建立它的邻接表并输出,然后利用队列的五种基本运算(置空队列、进队、出队、取队头元素、判队空)实现图的广度优先搜索周游。 - 课程设计题四:链表操作 一、 设计目的 1掌握线性链表的建立。 2掌握线性链表的基本操作。 二、设计内容和要求 利用链表的插入运算建立线性链表,然后实现链表的查找、删除、计数、西南大学计算机与信息科学学院 输出、排序、逆置等运算,插入、删除、查找、计数、输出、排序、逆置要单独写成函数,并能在屏幕上输出操作前后的结果。 - 课程设计题五:双向链表的操作 一、设计目的 1掌握双向链表的建立。 2掌握双

5、向链表的基本操作。 二、 设计内容和要求 1. 建立双向链表 L,含 n 个结点且按整数值递增排列的(输入任意) ; 2. 删除双向链表中多余的值相同的元素; 3. 求出链表的长度; 4. 将双向链表就地逆置; 5. 向双向链表中插入值,插入后双向链表仍有序。 - 课程设计题六:循环链表的操作 一、 设计目的 1掌握循环线性链表的建立。 2掌握循环线性链表的基本操作。 二、设计内容和要求 西南大学计算机与信息科学学院 1.用含有各种字符的串,建立循环单链表,每个结点含有一个字符; 2. 将循环单链表分解为三个单链表,分别是字母、数字和其他字符且按ascii 值有序; 3.能删除指定单链表中指定

6、位子或指定值的元素; 4.求出链表的长度。 - 课程设计题七:实现两个链表的合并 一、 设计目的 1掌握线性链表的建立。 2掌握线性链表的基本操作。 二、 设计内容和要求 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. 能删除指定单链表中指定位子和指定

7、值的元素。 - 西南大学计算机与信息科学学院 课程设计题八:一元多项式计算 一、 设计目的 1掌握线性链表的建立。 2掌握线性链表的基本操作。 二、设计内容和要求 1. 建立链式存储的一元多项式 ( 3+x3-5x5+11x9 ) 2. 一元多项式的输出。 3. 一元多项式的求导 ( 3x2-25x4+99x8 ) 4. 两个一元多项式的求和 5. 两个一元多项式的求积 - 课程设计题九:字符串的操作 一、 设计目的 1掌握顺序表的建立。 2掌握顺序表的基本操作。 3掌握串的基本操作。 二、设计内容和要求 1. 字符串采用数组存储,建立两个字符串 String1 和 String2。输出两个字

8、符串。 2. 将字符串 String2 的头 n 个字符添加到 String1 的尾部。输出结果。 3. 查找串 String3 在串 String1 中的位置,若 String3 在 String1 中不存西南大学计算机与信息科学学院 在,则插入 String3 在 String1 中的 m 位置上。输出结果。 4. 求任意子字符串 SUBSTR 及删除子字符串。 5. 求字符串的单词个数。 - 课程设计题十:稀疏矩阵的操作 一、 设计目的 1掌握多维数组的逻辑结构和存储结构。 2掌握稀疏矩阵的压缩存储及基本操作。 二、设计内容和要求 1. 稀疏矩阵采用三元组表示,求两个具有相同行列数的稀疏

9、矩阵 A 和 B的相加矩阵 C,并输出 C。 2. 求出 A 的转置矩阵 D,输出 D(用两种方法实现,原始算法和改进的算法) 。 3. 求两个稀疏矩阵 A 和 B 的相乘矩阵 E,并输出 E。 - 课程设计题十一:哈夫曼树与哈夫曼码 一、 设计目的 1掌握哈夫曼树的建树原理 2. 掌握哈夫曼树与哈夫曼码逻辑结构和存储结构。 西南大学计算机与信息科学学院 3掌握哈夫曼树与哈夫曼码的基本操作。 二、设计内容和要求 1.输入一个文本,统计各字符出现的频度,输出结果。 2.使用二叉链表或三叉链表作存贮结构,构造哈夫曼树。 3.确定和输出各字符的哈夫曼码。 4输入一个由 0 和 1 组成的代码序列,翻

10、译并输出与之对应的文本,若最后的代码子序列不能译为文本,则输出相关信息。 - 课程设计题十二:完全二叉树操作演示 一、 设计目的 1掌握二叉树的概念和性质 2. 掌握完全二叉树存储结构。 3掌握完全二叉树的基本操作。 二、设计内容和要求 1.创建完全二叉树(用字母表示节点)(用顺序方式存储) 2.求二叉树的深度和叶子结点数 3.实现二叉树的前序、中序、后序和层次遍历。 4.查找给定结点的双亲、祖先和左右孩子节点。 - 课程设计题十三:二叉树用二叉链表表示 西南大学计算机与信息科学学院 一、 设计目的 1掌握二叉树的概念和性质。 2. 掌握任意二叉树存储结构。 3掌握任意二叉树的基本操作。 二、

11、设计内容和要求 1 实现二叉树的建立、前序(非递归) 、中序和层次遍历; 2 求二叉树高度、结点数、度为 1 的结点数和叶子结点数; 3 插入结点到指定位置、删除指定结点; 4 将二叉树所有结点的左右子树交换。 - 课程设计题十四:线索二叉树 一、 设计目的 1掌握线索二叉树的概念。 2. 掌握线索二叉树存储结构。 3掌握线索二叉树的基本操作。 二、设计内容和要求 1. 建立中序线索二叉树,并且遍历; 2. 求中序线索二叉树上已知结点中序的前驱和后继; 3. 插入结点到指定位置;试着删除指定结点。 - 西南大学计算机与信息科学学院 课程设计题十五:二叉排序树 一、 设计目的 1掌握二叉排序树的概念。 2. 掌握二叉排序树的建树原理方法。 3掌握二叉排序树的删除算法。 二、设计内容和要求 1输入一个数列 L,生成一棵二叉排序树 T; 2对二叉排序树 T 作递增、递减输出; 3. 计算二叉排序树 T 的平均查找长度,输出结果; 4在二叉排序树 T 上删除指定结点; 5输出二叉排序树 T 中指定结点的平衡因子。 - 课程设计题十六:迷宫问题(或八皇后等类似问题) 一、 设计目的 1掌握栈的概念和运算。 2. 掌握队列的概念和运算。 二、设计内容和要求 问题描述: 以一个 mn 的长方阵表示迷宫,0 和 1 分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,

展开阅读全文
相关资源
相关搜索

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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号