《数据结构》实验内容安排1.实验一简单程序设计实验(2学时)最迟提交时间:2016年9月18日2.实验二线性表实验(3学时)最迟提交时间:2016年9月25日3.实验三栈和队列实验(4学时)最迟提交时间:2016年10月9日4.实验四树和二叉树实验(3学时)最迟提交时间:2016年10月16日5.实验五图实验(2学时)最迟提交时间:2016年10月23日6.实验六查找实验(2学时)最迟提交时间:2016年10月30日7.实验七内排序实验(2学时)最迟提交时间:2016年11月6日实验一简单程序设计实验(2学时)1.目的要求1)熟悉VisualC++6.0环境和常用调试方法;2)编写两个简单程序并分析其时间复杂度;2.实验内容(请每个同学将[学号]用自己的实际学号进行替换)1)设计一个程序[学号]-exp1-1.cpp,计算任一输入的正整数的各位数字之和,并分析算法的时间复杂度。2)设计一个程序[学号]-exp1-2.cpp,判断一个字符串是否为“回文”(顺读和倒读都一样的字符串称为“回文”),并分析算法的时间复杂度。3.主要仪器设备与环境1)PC机2)VisualC++实验二线性表实验(3学时)1.目的要求掌握用顺序结构和链表结构实现线性表的建立和常用操作,并能够用线性表解决实际问题。2.实验内容(请每个同学将[学号]用自己的实际学号进行替换)1)编写一个程序[学号]-exp2-1.cpp,实现顺序表的各种基本运算(假设顺序表的元素类型为char),完成如下功能:(1)初始化顺序表L;(2)采用尾插法依次插入元素e,d,c,b,a;(3)输出顺序表L;(4)输出顺序表L长度;(5)判断顺序表L是否为空;(6)输出顺序表L的第2个元素;(7)输出元素a的位置;(8)在第3个元素位置上插入元素f;(9)输出顺序表L;(10)删除L的第2个元素;(11)输出顺序表L;(12)释放顺序表L。2)编写一个程序[学号]-exp2-2.cpp,实现单链表的各种基本运算(假设单链表的元素类型为char),完成如下功能:(1)初始化单链表h;(2)采用尾插法依次插入元素e,d,c,b,a;(3)输出单链表h;(4)输出单链表h长度;(5)判断单链表h是否为空;(6)输出单链表h的第2个元素;(7)输出元素a的位置;(8)在第3个元素位置上插入元素f;(9)输出单链表h;(10)删除h的第2个元素;(11)输出单链表h;(12)释放单链表h。3.主要仪器设备与环境1)PC机2)VisualC++实验三栈和队列实验(4学时)1.目的要求掌握顺序结构实现栈和队列的建立和常用操作,并能够用栈和队列解决实际问题。2.实验内容(请每个同学将[学号]用自己的实际学号进行替换)1)编写一个程序[学号]-exp3-1.cpp,实现顺序栈(假设栈中元素类型为char)的各种基本运算,完成如下功能:(1)初始化栈s;(2)判断栈s是否非空;(3)依次进栈元素e,d,c,b,a;(4)出栈一个元素,并输出该元素;(5)输出栈长度;(6)输出从栈顶到栈底的元素;(7)输出出栈序列;(8)判断栈s是否非空;(9)释放栈。2)编写一个程序[学号]-exp3-2.cpp,实现顺序队列(假设栈中元素类型为char)的各种基本运算,完成如下功能:(1)初始化顺序队列q;(2)判断顺序队列q是否非空;(3)依次进队元素a,b,c;(4)出队一个元素,并输出该元素;(5)输出队列q的元素个数;(6)输出从队头到队尾的元素;(7)输出出队序列;(8)释放顺序队列q。5)设计一个程序[学号]-exp3-5.cpp,利用栈,实现将十进制数转换为任意进制数(2,8,16...)。3.主要仪器设备与环境1)PC机2)VisualC++实验四树和二叉树实验(3学时)1.目的要求掌握二叉树创建和遍历操作,并能够用二叉树解决实际问题2.实验内容(请每个同学将[学号]用自己的实际学号进行替换)1)编写一个程序[学号]-exp4-1.cpp,按先序次序输入二叉树中结点的值,建立一棵以二叉链表作存储结构的二叉树,然后按先序、中序、后序顺序分别遍历这棵二叉树。3.主要仪器设备与环境1)PC机2)VisualC++实验五图实验(2学时)1.目的要求掌握图的存储结构与操作算法,包括图的邻接矩阵的建立和图的遍历等操作。2.实验内容(请每个同学将[学号]用自己的实际学号进行替换)1)编写一个程序[学号]-exp5-1.cpp,建立无向图的邻接矩阵存储,并输出无向图从某一点开始的深度优先遍历序列和广度优先遍历序列。3.主要仪器设备与环境1)PC机2)VisualC++实验六查找实验(2学时)1.目的要求掌握顺序查找和二分查找方法。理解二叉排序树的查找方法、哈希表查找基本概念和构造哈希表的方法。2.实验内容(请每个同学将[学号]用自己的实际学号进行替换)1)设计一个程序[学号]-exp6-1.cpp,输出在顺序表{3,6,2,10,1,9,5,7,4,8}中采用顺序方法查找关键5的过程。2)设计一个程序[学号]-exp6-2.cpp,输出在顺序表{1,2,3,4,5,6,7,8,9,10}中采用折半查找方法查找关键9的过程。3.主要仪器设备与环境1)PC机2)VisualC++实验七排序实验(2学时)1.目的要求掌握插入排序、冒泡排序、选择排序等常用排序算法。理解快速排序、希尔排序、堆排序和基数排序原理。2.实验内容(请每个同学将[学号]用自己的实际学号进行替换)1)设计一个程序[学号]-exp7-1.cpp,实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。2)设计一个程序[学号]-exp7-2.cpp,实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。3)设计一个程序[学号]-exp7-3.cpp,实现直接选择排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。3.主要仪器设备与环境3)PC机4)VisualC++