sdut 二叉排序树
二叉排序树
Problem Description
二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 今天我们要判断两序列是否为同一二叉排序树
Input
Output
Example Input
2 123456789 987654321 432156789 0
Example Output
NO NO
#include<iostream>
#include<string.h>
using namespace std;
char c[100],d[100];
typedef struct node
{char data;struct node *lchild,*rchild;
}node,*itree;
int o=0,e=0;
void insert(itree &t1,char key)
{if(t1==NULL){t1=new node;t1->lchild=t1->rchild=NULL;t1->data=key;return ;}else{if(key<t1->data)insert(t1->lchild,key);else insert(t1->rchild,key);}
}
void pre_order(itree t)
{if(t!=NULL){c[o++]=t->data;pre_order(t->lchild);pre_order(t->rchild);}
}
void post_order(itree t3)
{if(t3!=NULL){post_order(t3->lchild);post_order(t3->rchild);d[e++]=t3->data;}
}
int main()
{char a[100],b[100];int n,len,i;itree t1;while(cin>>n){if(n==0){break;}t1=NULL;cin>>a;len=strlen(a);for(i=0;i<len;i++){insert(t1,a[i]);}pre_order(t1);c[o]='\0';post_order(t1);d[e]='\0';for(i=0;i<n;i++){cin>>b;if(strcmp(a,b)==0)cout<<"YES"<<endl;else if(strcmp(b,c)==0)cout<<"YES"<<endl;else if(strcmp(b,d)==0)cout<<"YES"<<endl;elsecout<<"NO"<<endl;}}return 0;
}
sdut 二叉排序树相关推荐
- 数据结构实验之查找一:二叉排序树 (SDUT 3373)
二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),也称二叉搜索树. #include <stdio.h> #include <s ...
- 数据结构(8-3)二叉排序树(查找、插入删除)
目录 一.基础理论 1.特点: 2.结构: 二.查找 三.插入 四.删除 1.被删除的结点D是叶子结点 2.被删除的结点D仅有一个孩子 2-1.删除结点14(有左无右) 2-2.删除结点 10 (有右 ...
- 二叉排序树的相关操作
#include <IOSTREAM.H> #include <STDLIB.H> //二叉树的生成和释放 typedef struct Node {int data;stru ...
- sdut 2401 最大矩形面积
1http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2401 /* 2 最大矩形面积,把边界点加上 ...
- sdut AOE网上的关键路径(spfa+前向星)
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2498&cid=1304 题目描述 一个无环的有向图称为无环图(Directed Acyc ...
- 树和二叉树(四种遍历,建树)详解+二叉排序树(包含图像和相关习题)
目录 树和二叉树 一.树 2.有序树和无序树 3.森林 4.树的基本性质 二.二叉树的概念 (1)二叉树的编号 1.二叉树和度为2的有序树的区别: 2.满二叉树 3.完全二叉树: 4.平衡二叉树: 5 ...
- 二叉排序树(完整代码)
目录 二叉排序树 1.二叉排序树(代码) P1087 FBI树 (建树) HDU 4707 Pet 二叉排序树 先序遍历:根->左->右 中序遍历:左->根->右 后序遍历:左 ...
- 二分查找与二叉排序树
文章目录 二分查找与二叉排序树 二分查找 1. 二分查找 2. 区间查找 3. 基于旋转数组的二分查找 二叉查找(排序)树 1. 插入节点 2. 查找节点 二分查找与二叉排序树 二分查找 1. 二分查 ...
- 平衡二叉排序树的创建和实现调整过程
1.已知一棵二叉树的先序序列为:abcedfgh,中序序列为:bcedaghf,画出该二叉树,并给出其后序序列. 2.已知一组关键字为(15,11,22,5,66,58,36,10,38),按照该元素 ...
最新文章
- oracle修改时区无效,Oracle 时区问题
- 《少年先疯队》第九次团队作业:Beta冲刺第二天
- Visual Basic 2005 - 如何将色彩字符串转换成 Color 结构
- ASP.NET 2.0中轻松实现网站换肤
- 算法—详细讲解单向循环链表的实现(python)
- 添加github ssh 公钥
- 中国计算机考试区别及求职的相关思考
- nginx+memcache实现页面缓存应用
- 8.0服务器维护时间,魔兽世界8.0服务器维护把玩家心态搞崩 网友:喜闻乐见
- 不确定性原理的前世今生 · 数学篇(一)
- php把amr转换成mp3,amr怎么转换成mp3 amr文件转换mp3格式
- 餐饮点餐外卖小程序源码(外卖订餐系统源码)
- android备份recovery,一键备份手机原版Recovery 刷机无鸭梨
- db4o and sematicweb
- 百度导航怎么不显示服务器,win7系统百度首页导航不见了怎么办
- 2017下半年网络工程师考试报名方式
- 民族学类毕业论文文献有哪些?
- 计算机网络 - ECMAScript和Javascript、jscript关系
- 深拷贝和浅拷贝的区别(必须掌握)
- Debian etch 基本系统 initial ram disk 的分析
热门文章
- flutter天气_牛笔!自己用Flutter撸一个天气APP
- JAVA入门级教学之(方法-调用-5)
- python pdf转txt保留全部信息_Python 将pdf转换成txt(不处理图片)
- Java学习的5个阶段,助大家步步攀升
- 软件项目周报模板_一份高质量的职场工作周报,要这样写
- java if else重构_java – 如何重构这个有多个if / else语句的方法
- python 降维 聚类_比PCA降维更高级——(R/Python)t-SNE聚类算法实践指南
- 安卓软件错误log_Android编程实现捕获程序异常退出时的错误log信息功能详解
- python设置文件编码_python批量修改文件编码格式的方法
- leetcode41 --- firstMissingPositive