数据结构课程设计题目汇总及要求.docx

上传人:b****6 文档编号:7868113 上传时间:2023-01-26 格式:DOCX 页数:12 大小:42.43KB
下载 相关 举报
数据结构课程设计题目汇总及要求.docx_第1页
第1页 / 共12页
数据结构课程设计题目汇总及要求.docx_第2页
第2页 / 共12页
数据结构课程设计题目汇总及要求.docx_第3页
第3页 / 共12页
数据结构课程设计题目汇总及要求.docx_第4页
第4页 / 共12页
数据结构课程设计题目汇总及要求.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据结构课程设计题目汇总及要求.docx

《数据结构课程设计题目汇总及要求.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计题目汇总及要求.docx(12页珍藏版)》请在冰豆网上搜索。

数据结构课程设计题目汇总及要求.docx

数据结构课程设计题目汇总及要求

数据结构课程设计题目

课程设计题一:

线性表子系统

一.设计目的:

1.掌握线性表的特点

2.掌握线性表的顺序存储结构和链式存储结构的基本运算

3.掌握线性表的基本操作

二.设计内容和要求:

1.设计一个选择式菜单。

线性表子系统

******************************************************

*1……建表*

*2……插入*

*3……删除*

*4……显示*

*5……查找*

*6……求表长*

*0……返回*

******************************************************

请选择菜单号(0…6):

2.采用单链表创建线性表。

3.在线性表中实现插入、删除元素,显示线性表中所有元素,查找元素和求线性表长的基本操作。

 

课程设计题二:

栈子系统

一.设计目的:

1.掌握栈的特点及其描述方法

2.掌握链式存储结构实现一个栈

3.掌握链栈的各种基本操作

4.掌握栈的典型应用的算法

二.设计内容和要求:

1.设计一个选择式菜单。

栈子系统

******************************************************

*1……入栈*

*2……出栈*

*3……显示*

*4……数制转换*

*0……返回*

******************************************************

请选择菜单号(0…4):

2.设计一个整型数据元素的链栈。

3.编写入栈、出栈和显示栈中全部元素的程序。

4.编写一个把十进制数转换成八进制数的应用程序。

 

课程设计题三:

队列子系统

一.设计目的:

1.掌握队列的特点及其描述方法

2.掌握链式存储结构实现一个队列

3.掌握队列的各种基本操作

4.掌握队列简单应用的算法

二.设计内容和要求:

1.设计一个选择式菜单。

队列子系统

******************************************************

*1……入队*

*2……出队*

*3……读队首元素*

*4……显示*

*5……报数问题*

*0……退出*

******************************************************

请选择菜单号(0…5):

2.设计一个整型数据元素的链队列。

3.编写入队、出队、读队首元素、显示队列中全部元素的程序。

4.编写求解报数问题的应用程序,要求给出他们的出列顺序。

注:

所谓报数问题,设n个人站成一排,从左到右的编号分别为1~n,从左到右报数“1,2,3,1,2,3”,数到“1”和“2”的人出列,数到“3”的人立即站到队伍的最右端。

报数过程反复进行,直到n个人都出列为止。

如:

n=10时,初始序列为12345678910,

出列顺序为12457810369。

上面红色字体部分不要写到课程设计报告中。

课程设计题四:

稀疏矩阵的运算

一.设计目的:

1.掌握多维数组的逻辑结构和存储结构

2.掌握稀疏矩阵的压缩存储及基本操作

二.设计内容和要求:

1.稀疏矩阵A采用三元组表示。

2.求出A的转置矩阵D,输出D。

 

课程设计题五:

二叉树子系统

一.设计目的:

1.掌握二叉树的特点及其存储方式

2.掌握二叉树的创建方法

3.掌握二叉树遍历的基本方法

4.掌握求二叉树叶子结点数的基本算法

二.设计内容和要求:

1.设计一个选择式菜单。

二叉树子系统

******************************************************

*1……建二叉树*

*2……先序遍历*

*3……中序遍历*

*4……后序遍历*

*5……求叶子数*

*0……返回*

******************************************************

请选择菜单号(0…5):

2.编写先序遍历和中序遍历递归程序、后序遍历的非递归程序。

3.编写求二叉树的叶子结点数的程序。

 

课程设计题六:

二叉树操作

(1)

一.设计目的:

1.掌握二叉树的概念和性质

2.掌握二叉树的存储结构

3.掌握二叉树的基本操作

二.设计内容和要求:

1.编写已知二叉树的先序、中序序列,恢复此二叉树的程序。

2.编写求二叉树深度的程序。

 

课程设计题七:

二叉树操作

(2)

一.设计目的:

1.掌握二叉树的概念和性质

2.掌握二叉树的存储结构

3.掌握二叉树的基本操作

二.设计内容和要求:

1.编写已知二叉树的后序、中序序列,恢复此二叉树的程序。

2.编写求二叉树结点数的程序。

 

课程设计题八:

哈夫曼树和哈夫曼编码

一.设计目的:

1.掌握构造哈夫曼树的原理

2.掌握哈夫曼树的逻辑结构和存储结构

3.掌握哈夫曼树与哈夫曼编码的基本操作

二.设计内容和要求:

1.根据字符出现的频度建立哈夫曼树。

2.确定和输出各字符的哈夫曼编码。

 

课程设计题九:

图子系统

一.设计目的:

1.掌握图邻接表的存储方法

2.掌握图深度优先遍历的基本思想

3.掌握图广度优先遍历的基本思想

二.设计内容和要求:

1.对任意给定的图(顶点数和边数自定),建立它的邻接表并输出。

2.编写图的深度优先遍历程序。

3.利用队列的基本运算实现图的广度优先遍历。

 

课程设计题十:

普里姆算法求最小生成树

一.设计目的:

1.掌握图的存储方法

2.掌握普里姆算法求解最小生成树

二.设计内容和要求:

1.对教材174页7.16的a图建立它的邻接表。

2.用普里姆算法求其最小生成树,依次输出顶点集合和边集合。

 

课程设计题十一:

克鲁斯卡尔算法求最小生成树

一.设计目的:

1.掌握图的存储方法

2.掌握鲁斯卡尔算法求解最小生成树

二.设计内容和要求:

1.对教材174页7.16的a图建立它的邻接表。

2.用克鲁斯卡尔算法求其最小生成树,依次输出顶点集合和边集合。

 

课程设计题十二:

查找子系统

(1)

一.设计目的:

1.理解查找的基本算法

2.掌握静态查找和动态查找的区别

3.掌握折半查找和哈希查找的基本思想及其算法

二.设计内容和要求:

1.设计一个选择式菜单。

查找子系统

******************************************************

*1……折半查找*

*2……哈希查找*

*0……返回*

******************************************************

请选择菜单号(0…2):

2.分别实现折半查找和哈希查找。

3.哈希函数采用除留余数法,解决冲突的方法任选。

 

课程设计题十三:

查找子系统

(2)

一.设计目的:

1.理解查找的基本算法

2.掌握静态查找和动态查找的区别

3.掌握顺序查找和二叉排序树的基本思想及其算法

二.设计内容和要求:

1.设计一个选择式菜单。

查找子系统

******************************************************

*1……顺序查找*

*2……二叉排序树*

*0……返回*

******************************************************

请选择菜单号(0…2):

2.分别实现顺序查找和二叉排序树。

3.二叉排序树必须实现构建、查找、插入的基本操作。

 

课程设计题十四:

排序子系统

(1)

一.设计目的:

1.掌握常用排序方法的基本思想

2.通过实验加深理解各种排序算法

3.了解各种排序方法的优缺点及适用范围

二.设计内容和要求:

1.设计一个选择式菜单。

排序子系统

******************************************************

*1……起泡排序*

*2……快速排序*

*0……返回*

******************************************************

请选择菜单号(0…2):

2.编写起泡排序程序。

3.编写快速排序程序。

 

课程设计题十五:

排序子系统

(2)

XX文库-让每个人平等地提升自我一.设计目的:

1.掌握常用排序方法的基本思想

2.通过实验加深理解各种排序算法

3.了解各种排序方法的优缺点及适用范围

二.设计内容和要求:

XX文库-让每个人平等地提升自我1.设计一个选择式菜单。

XX文库-让每个人平等地提升自我排序子系统

******************************************************

*1……直接插入排序*

*2……希尔排序*

*0……返回*

******************************************************

请选择菜单号(0…2):

2.编写直接插入排序程序。

3.编写希尔排序程序。

 

课程设计题十六:

通讯录管理

一.设计目的:

1.掌握线性表的特点

2.掌握线性表的顺序存储结构和链式存储结构的基本运算

3.掌握线性表的基本操作

二.设计内容和要求:

通讯录实质上是一个线性表,由于通讯录长度不确定,且插入或删除操作比较频繁,因此,采用单链式存储结构。

要求实现如下功能:

1.设计一个选择式菜单。

通讯录管理系统

******************************************************

*1……通讯录单链表的建立*

*2……通讯者的插入*

*3……通讯者的删除*

*4……通讯者的查询*

*0……退出*

******************************************************

请选择菜单号(0…4):

2.编程实现通讯录单链表的建立、通讯者的插入、通讯者的删除、通讯者的查询、通讯录的输出。

 

课程设计题十七:

约瑟夫生者死者游戏

一.设计目的:

1.掌握线性表的特点

2.掌握单循环链表的建立和基本运算

二.设计内容和要求:

30个旅客同乘一条船,因为严重超载,必须将全船一半的旅客投入海中,其余人才能幸免遇难。

大家同意一种办法:

30人围成一圈,由第一个人数起,依次报数,数到第9人,便把他投入大海中,然后再从他的下一个人数起,数到第9人,再将他扔进大海中,如此循环地进行,直到剩下15个乘客为止。

要求实现如下功能:

1.建立一个具有30个结点的单循环链表;

2.生者与死者的选择:

从位置为1的结点开始数,数到第8个结点,将其下一个结点从单循环链表中删除,然后,再从被删除结点的下一个结点开始数,数到第8个结点,再将其下一个结点删除,如此下去,直到剩下15个结点为止;

3.输出所有生者的位置。

 

课程设计题十八:

迷宫求解

一.设计目的:

1.掌握栈的特点及其描述方法

2.掌握链栈的各种基本操作

二.设计内容和要求:

由0和1构成的m*n维矩阵表示一个迷宫,其中0表示通路,1表示墙壁。

迷宫入口为(1,1),出口为(m,n)。

迷宫随机产生。

试编一算法求出从入口到出口的一条通路,或显示没有通路。

要求实现如下功能:

1.从键盘输入m和n,随机产生迷宫。

2.找到一条通路即可,若没有显示“Nopath!

”。

 

上面的图不要写到课程设计报告中。

 

课程设计题十九:

算术表达式求值的实现

一.设计目的:

1.掌握栈的顺序存储结构和链式存储结构

2.掌握栈的先进后出的特点

3.掌握栈的基本运算

二.设计内容和要求:

1.算术表达式由操作数、运算符和界限符组成。

操作数是正整数,运算符为加减乘除,界限符有左右括号和表达式起始。

2.将一个算术表达式的中缀形式转化为相应的后缀形式。

3.依据后缀表达式计算表达式的值。

 

课程设计题二十:

杨辉三角队列的实现

一.设计目的:

1.掌握队列的顺序存储结构

2.掌握队列先进先出运算原则在解决实际问题中的应用

二.设计内容和要求:

利用循环顺序队列打印杨辉三角。

杨辉三角的特点是两个腰上的数字都为1,其它位置上的数字是其上一行中与之相邻的两个整数之和。

所以在打印过程中,第i行上的元素要由第i-1行中的元素来生成。

在循环队列中依次存放第i-1行上的元素,然后逐个出队并打印,同时生成第i行元素并入队列。

打印的杨辉三角形如下所示:

1

1  1

1  2   1

1  3  3  1

1  4  6  4  1

1  5  10  10  5  1

1  6  15  20  15  6  1

1  7  21  35  35  21  7  1

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1