实验一 线性表的有关操作………………………………………………………………………4
实验二 栈和队列的有关操作………………………………………………………………5
实验三 二叉树的基本操作…………………………………………………………………6
实验四 图的基本运算…………………………………………………………………………7
实验五 查找的有关操作…………………………………………………………………………8
实验六 排序的有关操作…………………………………………………………………………9
实验一 线性表的有关操作
一、实验学时:2学时
二、背景知识:单链表的插入、删除及应用。
三、目的要求:
1、掌握单向链表的存储特点及其实现。
2、理解和掌握单链表的类型定义方法和结点生成方法。
3、掌握单向链表的插入、删除算法及其应用算法的程序实现。
四、实验内容:
1、随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。
2、遍历单向链表(显示)。
3、把单向链表中元素逆置(不允许申请新的结点空间)。
4、在单向链表中删除所有的偶数元素(值为偶数)结点。
5、编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。
6、利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。
7、利用算法5建立两个非递减有序单向链表,然后合并成一个非递减链表。
8、编写一个主函数,调试上述算法。
实验二 栈和队列的有关操作
一、实验学时:2学时
二、背景知识:入栈、出栈,入队、出队。
三、目的要求:
1、掌握栈、队列的思想及其存储实现。
2、掌握栈、队列的常见算法的程序实现。
四、实验内容:
1、用顺序存储定义栈结构。写出这种存储方式下的算法实现,包括:初始化栈、判栈为空、出栈、入栈、求栈顶元素等运算,自己填写主函数。
2、利用顺序栈的基本操作,设计算法,实现将任意一个十进制整数转化为R进制整数
3、用顺序存储来定义循环队列结构。编程实现,初始化队列、判队列为空、出队列、入队列、求队列头部元素等运算,自己填写主函数。
4、利用队列打印杨辉三角形。杨辉三角形是形如:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是
左右两边全是1,从第二行起,中间的每一个数是上一行里相邻两个数之和。输入要打印的层数n,打印出相应的杨辉三角形。