
NOJ-数据结构
数据结构
T1009∞
T1009
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构复习
#数据存储结构 1.顺序存储结构 2.链式存储结构 #栈 1.先进后出。 2.设输入序列长度为n(输入元素不相等),则经过栈的作用后可以得到 C(2n , n)/(n+1)。(排列公式,卡特兰数) #.二叉树 1.二叉树中,第m层最多有2^(m-1)个结点(根结点为第一层) 2.高度为k的二叉树至多有2^k-1个结点 3.二叉树的叶结点(度为零)总数为n0,度为2的结点个数为n2,则n0=n2+1 4.具有n个结点的完全二叉树的深度为:log2(n)+1 5.具有n0个叶结点(度为零)和n1个度为1的二叉树原创 2021-06-23 11:24:55 · 2732 阅读 · 2 评论 -
noj.26 二叉排序树的合并
题目描述: 分析: 1.先序,创建二叉排序树。 2.在二叉排序树中插入一个值。 3.n 大于根节点在右子树中插入。 4.n 小于根节点在左子树中插入。 5.合并排序二叉树。 6.中序输出合并后的排序二叉树。 完整代码: #include <iostream> using namespace std; typedef struct bstnode { int elem; struct bstnode *lchild,*rchild; }*bstree; //先序,创建二叉排序原创 2021-06-14 22:31:59 · 486 阅读 · 3 评论 -
noj.24 二叉排序树的判别
题目描述: 1.空树的时候,输出yes。 2.左子树的值<根节点的值<右子树的值。 AC代码: #include <iostream> using namespace std; typedef struct bstnode { int elem; struct bstnode *lchild,*rchild; }*bstree; //先序,创建二叉排序树 bstree creat_bstree(bstree t) { int data; cin&原创 2021-06-14 22:25:31 · 360 阅读 · 0 评论 -
noj.17-输出以二叉树表示的算术表达式
思路: 先序输入,建立二叉树,中序输出表达式。 建立二叉树的完整过程(加上#是为了方便理解全过程,实际生成的二叉树不含#): AC代码: #include <iostream> using namespace std; typedef struct bitnode { char data; struct bitnode *lchild,*rchild; }*bitree; //创建树,先序 bitree creat_tree(bitree T) { char c.原创 2021-05-06 22:49:09 · 210 阅读 · 0 评论 -
noj.18 建立二叉树的二叉链表 #数据结构
思路: 先序 根——左——右 中序 左——根——右 后序 左——右——根 1.在先序中找到根节点 2.在中序中找到根节点 3.求左子树的长度 4.求右子树的长度 5.建立左子树 6.建立右子树 7.输出后序 AC代码: #include <iostream> #include<cstring> using namespace std; //建立二叉树 struct btnode { char data; struct btnode *lchi.原创 2021-05-02 14:51:44 · 573 阅读 · 1 评论 -
noj.11-循环右移
思路: 构造一个队列,队首元素出队再入队实现循环右移。这里使用循环队列。 完整代码: #include <iostream> using namespace std; int n; #define max (n+1)//牺牲了一个空间 typedef struct { int a[100]; int len; int front; int rear; }queue; //初始化 void initqueue(queue *q) { q->front=q.原创 2021-04-27 23:17:02 · 522 阅读 · 0 评论 -
noj.7-括号匹配
思路: 括号匹配需要一一对应且从左向右遇到的第一个右括号需要与该右括号左边的第一个左括号类型匹配,即左小括号与右小括号,左中括号与右中括号,左大括号与右大括号匹配。 不满足的情况有三种类型: 1 ( ( ) 左右括号个数不同 2 ( { ) } 非法匹配1 3 )()( 非法匹配2 1.模拟括号匹配的过程,可以建立一个栈,遇到左括号进栈,遇到右括号则先判断栈是否为空,若栈为空输出no (对应表格中第三种情况),若栈不为空,将栈顶元素与该右括号进行匹配。如果匹配成功栈顶元素出栈,否则.原创 2021-04-27 22:45:12 · 372 阅读 · 0 评论