数据结构实验
16次数据结构实验
旧事渐暖
show me your code.
展开
-
数据结构实验1:汉诺塔问题编程实现、指针的使用
题目1:设计递归算法解决汉诺塔问题,理解递归算法的特点和执行过程。汉诺塔问题:一块板上有三根针A、B、C。A针上套有n个大小不等的圆盘,按照大的在下、小的在上的顺序排列,要把这n个圆盘从A针移动到C针上,每次只能移动一个圆盘,移动过程可以借助B针。但在任何时候,任何针上的圆盘都必须保持大盘在下,小盘在上。从键盘输入需移动的圆盘个数,给出移动的过程。题目2:指针练习。#include<stdlib.h>#include<stdio.h>//补充以下函数的参数和代码,构造swa原创 2022-04-27 08:05:05 · 1354 阅读 · 0 评论 -
数据结构实验2:用链表和顺序表实现两个多项式的加法运算
实现多项式求和运算简单,但是这个输入格式,让简单的加法变得不好实现了。几个步骤:偶数位保存系数,奇数位保存项数。建两个线性表,s1和s2,双重循环遍历,s2中寻找和s1线性表中相同的偶数位,如果相同,s2中data[i-1]加s1的代表合并同类项,如果没找到,则把这个点插入s2。最后对s2的遍历输出,如果要按项高低拍就建个结构体,排序后输出。全部代码...原创 2022-04-26 23:30:25 · 3627 阅读 · 0 评论 -
数据结构实验5:kmp算法实现
题目:KMP 模式匹配算法的实现:利用 KMP 模式匹配算法在主串中查找指定模式串。如果主串包含该模式串,则返回该模式串在主串中的序号;否则返回-1。输入样例:abcddabcababcdaabcababcdaabcabaa(主串)abcdaabcab(模式串)输出样例:-1 0 0 0 -1 1 0 0 3 0(模式串的优化版的 next 向量)10(模式串在主串中的序号,主串中元素从 0 开始编号......原创 2022-04-26 22:42:04 · 586 阅读 · 0 评论 -
数据结构实验4:单调队列(滑动窗口)和单调栈的应用
单调栈,单调队列原创 2022-04-26 22:21:40 · 180 阅读 · 0 评论 -
数据结构实验7:二叉树的构建
题目:二叉树的构建给定关键码集合,构建一棵二叉搜索树,并按照先序遍历方式输出构建的二叉搜索树中所有节点。输入样例:50 19 35 55 20 5 100 52 88 53 92输出样例:50 19 5 35 20 55 52 53 100 88 92...原创 2022-04-26 22:02:36 · 727 阅读 · 0 评论 -
数据结构实验6:二叉树的遍历,深度计算,度为1的个数
题目:1、 实现二叉树前序、中序、后序遍历的递归算法;2、 计算二叉树的深度(递归和非递归算法);3、 统计二叉树度为1的节点个数(递归和非递归算法);原创 2022-04-26 22:02:08 · 601 阅读 · 0 评论 -
数据结构实验3:栈实现后缀表达式计算
****思路及难点:数字入栈,遇到符号立即计算如遇到+,进行的运算是num1 + num2;num2是栈顶元素num1是栈顶下面的第一个数字所以在保存num2后需要出栈一次,求得num2,然后将运算后的结果赋值给栈顶。处理了很久的,char怎么转成doubleiostream是一个类,有自己的buffer。你每次cin>>a,它就把buffer减一,放到a中去。cin.putback(a)就是把a的内容放回buffer中。再通过输入输出流进行自动的格式转换,很细节...原创 2022-04-26 22:01:25 · 1025 阅读 · 0 评论 -
数据结构实验8 森林后序遍历、叶子节点数量计算、森林高度计算
实验题目:1、 实现森林先根(已提供)、后根遍历递归算法;2、 计算森林的叶子节点个数(递归算法);3、 计算森林的高度(递归算法);思路:关键思路就是:需要把非二叉树转为二叉树,从而计算相关高度、叶子节点数量。加线、删除、旋转,完成二叉树的转化...原创 2022-04-26 17:55:20 · 849 阅读 · 0 评论 -
数据结构实验9:并查集的使用
并查集原创 2022-04-25 17:49:29 · 2068 阅读 · 0 评论