数据结构与算法实验
数据结构与算法实验
橘•希尔芬福特
求各位大佬指教!
展开
-
2.1 实验1 线性表应用 一、顺序表
目的要求1.掌握线性表顺序存储结构的特点。2.掌握线性表顺序存储结构的常见算法。实验内容1.输入一组整型元素序列(不少于10个),建立顺序表。2.在该顺序表中进行顺序查找某一元素,查找成功返回 1,否则返回 0。3.判断该顺序表中元素是否对称,对称返回 1,否则返回 0。4.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。5.输入整型元素序列(不少于10个),利用有序表插入算法建立一个有序表。6.利用算法5建立两个非递减有序表,并把它们合并成一个非递减有序表。7.在主函数原创 2020-06-11 16:53:05 · 1623 阅读 · 0 评论 -
2.3 实验3 图的应用
目的要求1.掌握图的存储策略及其存储实现。2.掌握图的深度、广度优先遍历的算法策略及其程序实现。3.掌握图的常见算法策略及其程序实现。实验内容1.键入或随机生成数据,建立一个有向图的邻接表。2.输出该邻接表。3.以有向图邻接表为基础上,计算各顶点的度并输出。4.以有向图邻接表为基础,输出其拓扑排序序列。5.采用邻接表存储,实现无向图的非递归DFS遍历。6.采用邻接表存储,实现无向图的BFS优先遍历。7.判断无向图任意两个顶点间是否有路径,若有则输出路径上的顶点序列。8.在主函数中设计原创 2020-06-18 22:10:55 · 712 阅读 · 1 评论 -
2.2 实验2 二叉树应用
目的要求1.掌握二叉树的存储实现。2.掌握二叉树的遍历思想。3.掌握二叉树的常见算法的程序实现。实验内容1.输入字符序列,建立二叉链表。2.中序遍历二叉树:递归算法。3.中序遍历二叉树:非递归算法。(最好也实现先序,后序非递归算法)4.求二叉树的高度。5.求二叉树的叶子数。6.借助队列实现二叉树的层次遍历。7.在主函数中设计一个简单的菜单,调用上述算法。实验说明1.类型定义 // 二叉链表存储#define ElemType char // 元素类型typedef原创 2020-06-15 15:03:24 · 670 阅读 · 0 评论 -
2.1 实验1 线性表应用四、栈与队列
目的要求1.掌握栈、队列的思想及其存储实现。2.掌握栈、队列的常见算法的程序实现。实验内容1.采用链式存储实现栈的初始化、入栈、出栈操作。2.采用顺序存储实现栈的初始化、入栈、出栈操作。3.采用链式存储实现队列的初始化、入队、出队操作。4.采用顺序存储实现循环队列的初始化、入队、出队操作。5.在主函数中设计一个简单菜单,调用上述算法。实验说明1.顺序栈类型定义const int MAX=20 ; // 栈的最大值typedef struct{ElemType *bas原创 2020-06-12 12:30:52 · 300 阅读 · 0 评论 -
2.1 实验1 线性表应用三、双向链表
目的要求1.掌握双向链表的存储结构及其实现。2.掌握双向链表的插入与删除算法的程序实现。实验内容1.利用尾插法建立一个双向链表。2.遍历双向链表。3.实现双向链表中删除一个指定元素。4.在非递减有序双向链表中实现插入元素e仍有序的算法。5.判断双向链表中元素是否对称,若对称返回 1,否则返回 0。6.设元素为正整型,实现算法把所有奇数排列在偶数之前。7.在主函数中设计一个简单菜单,调用上述算法。实验说明1.双向链表的类型定义typedef int ElemType; // 元原创 2020-06-12 10:27:45 · 680 阅读 · 1 评论 -
2.1 实验1 线性表应用二、单向链表
目的要求1.掌握单链表的存储特点及其实现。2.掌握单链表的插入与删除算法的程序实现。实验内容1.随机产生或键盘输入一组元素(不少于10个元素),建立一个带头结点的单链表。2.把单链表中的元素逆置(不允许申请新的结点空间)。3.删除单链表中所有的偶数元素结点。4.编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,利用该函数建立一个非递减有序单链表。5.利用算法4建立两个非递减有序单链表,然后合并成一个非递增链表。6.把算法1建立的链表分解成两个链表,其中一个全部为奇数,另一个全部为原创 2020-06-11 22:35:53 · 861 阅读 · 0 评论