![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构练习题
Ambitious°
编程初学者
展开
-
数据结构——二叉树的其他算法(统计节点个数等)
描述实现以下算法:1.统计树中节点个数2.统计树中叶子节点个数3.统计树的高度4.二叉树左右子树的交换输入扩展的前序序列.在一棵树处理结束后,根据响应判断是否处理下一棵树输出按要求输出信息(节点个数,叶子节点个数,二叉树的高度,交换之后的前序遍历)样例输入abc####Yab##c##N样例输出313abc322acb#include<iost...原创 2019-12-01 23:50:33 · 1058 阅读 · 0 评论 -
数据结构——顺序存储二叉树的相关算法
描述写出顺序存储的二叉树的前序遍历、中序遍历、后续遍历算法输入第一行:二叉树中的结点个数n之后的n行中,每一行包含两个数据 :number: 代表结点在完全二叉树中的层序编号(根节点编号是1)value: char 型的数据,代表结点的值输出三行第一行为前序遍历序列第二行为中序遍历序列第三行为后序遍历序列样例输入31 a2 b3 c样例输出abcbacbca...原创 2019-12-01 23:39:45 · 755 阅读 · 0 评论 -
数据结构——二叉树的实现
描述构造一个二叉树类,实现创建二叉树和对二叉树进行前序、中序、后序遍历输入扩展的前序序列.在一棵树处理结束后,根据响应判断是否处理下一棵树输出前序、中序、后序样例输入ab##c##Yabc####N样例输出abcbacbcaabccbacba#include<iostream>using namespace std;struct Node{ ...原创 2019-12-01 23:36:25 · 182 阅读 · 0 评论 -
数据结构——二叉树遍历问题
描述输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。输入共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示。输出仅一行,表示树的后序遍历序列。样例输入abdecdbeac样例输出debca//已知前序序列和中序序列可以确定唯一的后序序列#include<iostream>#include<c...原创 2019-12-01 23:31:16 · 522 阅读 · 0 评论 -
括号匹配
描述给定一个字符串,字符串只包含两种字符:左括号“(”和右括号”)”。请判断这些括号是否能匹配。如果能则输出Yes,不能则输出No。输入一行,括号序列(一个字符串)输出Yes/No#include<iostream>#include<cstdio>#include<stack>#include<cstring>#define N ...原创 2019-10-29 17:38:25 · 423 阅读 · 0 评论 -
后缀表达式求值
描述输入一个后缀表达式,计算它的值。操作数和操作码之间都以空格分开。输入一行,后缀表达式输出一行,一个整数,为后缀表达式的值样例输入16 9 4 3 + * -样例输出-47#include<iostream>#include<stack>#define N 110using namespace std;int main(){ str...原创 2019-10-29 17:34:53 · 1909 阅读 · 0 评论 -
整数顺序表的基本运算
描述设计整数顺序表的基本运算程序,并用相关数据进行测试输入顺序输入顺序表A的元素个数及各个元素输出第一行:创建顺序表A后,输出所有元素第二行:删除第一个元素,输出删除后的所有元素第三行:输出删除元素后顺序表的长度第四行:在第二元素处插入一个新的元素100第五行:输出第一个元素100所在位置//顺序表的好处就是找的时候特别方便,地址也是连续的#include<iostre...原创 2019-10-27 10:53:55 · 3488 阅读 · 0 评论 -
非递减有序集合合并
描述巳知线性表LA和线性表LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的元素仍按值非递减有序排列。输入三行,第一行A,B集合的个数n,m第二行:集合A的数据;第三行:集合B的数据。输出二行,第一行,集合C的个数k第二行:集合C的数据。//用链表怎么进行怎么进行集合合并,一直没有思路,看了用链表进行多项式的合并,改了一下,有问题的地方请大...原创 2019-10-27 10:52:04 · 359 阅读 · 0 评论 -
有序的双链表的实现
描述定义有序的双链表类,链表中存储整型数据,创建带头结点的有序双链表,要求包含以下成员函数:双链表的构造函数(非空的链表,输入数据为0,表示输入结束)插入操作(将一个数据元素插入到有序的双链表中,插入之后链表仍然有序,输入数据为0表示插入操作结束)按值删除节点(考虑有重复值的情况)双链表的遍历操作双链表的析构输入输入链表中的元素,根据输入元素,创建有序双链表(非空的链表,输入数据为...原创 2019-10-27 10:47:08 · 325 阅读 · 0 评论 -
单链表的实现
描述定义单链表类,创建带头结点的单链表(节点类型为整型数据),要求包含以下成员函数:头插法创建单链表(利用构造函数实现)尾插法创建单链表(重载构造函数实现)链表的遍历按值删除一个节点按位置删除一个节点链表的析构输入输入一组数据,以尾插法的形式创建单链表(0表示输入结束)(构造第一个链表)输入一组数据,以头插法的形式创建单链表(0表示输入结束)(构造第二个链表)输入要删除元素的...原创 2019-10-27 10:44:04 · 336 阅读 · 0 评论 -
构造有序的单链表
描述构造有序(升序)的单链表并实现单链表的逆置(可以采用结构化的程序设计方法实现,即不必定义类)输入输入链表中的数据。(用0表示输入的结束,0不能添加到链表中)输出按顺序输出有序链表中的数据//这题在数组里排序,再利用头插尾插的方式插入,方法有点low,操作起来容易一点#include<iostream>#include<algorithm>#defi...原创 2019-10-27 10:40:43 · 1128 阅读 · 0 评论 -
约瑟夫环问题
描述约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。输入8 1 3 (n=8 k=1 m=3 )输出7 (剩下的那个)//利用循环链表解决#include<iostream>using na...原创 2019-10-27 10:37:48 · 142 阅读 · 0 评论