数据结构实验题目[1]

  • 格式:doc
  • 大小:89.50 KB
  • 文档页数:2

实验一:线性表的顺序存储结构

(实验性质:验证性实验)

上机前的预习:阅读所给的源程序1,上机输入该程序,并调试、运行,分析该源程序的功能;在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。

题目:设计并实现以下算法:有两张非递增有序的线性表A和B,采用顺序存储结构,将这两张表合并成C表,要求C表是非递减有序的,然后删除C表中值相同的多余元素。

实验二:线性表的链式存储结构

(实验性质:验证性实验)

上机前的预习:阅读所给的源程序2,上机输入该程序,并调试、运行,分析该源程序的功能;在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。

题目:设计并实现以下算法:给出用单链表存储多项式的结构,利用后接法生成多项式的单链表结构,实现两个多项式相加的运算,并就地逆置相加后的多项式链式。

实验三、四:栈和队列的应用――迷宫问题实验

(实验性质:综合性实验)

上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。

题目:假设迷宫由m行n列构成,有一个入口和一个出口,入口坐标为(1,1),出口坐标为(m,n),试找出一条从入口通往出口的最短路径。设计算法并编程输出一条通过迷宫的最短路径或报告一个“无法通过”的信息。

要求:用栈和队列实现,不允许使用递归算法。

实验五:稀疏矩阵的存储和快速转置

(实验性质:验证性实验)

上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。

题目:假设稀疏矩阵A采用三元组表表示,编写程序实现该矩阵的快速转置。

要求:输入一个稀疏矩阵A,由程序将其转换成三元组表存储;转置后的三元组表,由程序将其转换成矩阵形式后输出。

实验六:二叉树的递归遍历及其应用

(实验性质:验证性实验)

上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。

题目:假设二叉树采用二叉链表结构。设计并实现如下算法:后序递归建树,先序非递归遍历该树,输出各个结点的值,并求该树中单分支结点的个数。

实验七:二叉树的其他典型算法

(实验性质:验证性实验)

上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。 - 2 - 题目:假设二叉树采用二叉链表结构。设计并实现如下算法:输入某棵二叉树的广义表形式,建立该二叉树,并按层次遍历该二叉树。

实验八:图的遍历

(实验性质:验证性实验)

上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。

题目:假设无向图采用邻接表结构表示。编程分别实现图的深度优先搜索算法和广度优先搜索算法。

实验九:查找

(实验性质:验证性实验)

上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。

题目:编程实现哈希表的造表和查找算法。

要求:用除留余数法构造哈希函数,用二次探测再散列解决冲突。

实验十:内部排序

(实验性质:验证性实验)

上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。

题目:编程分别实现快速排序算法、堆排序算法。