树(4)判断某个序列是否是二叉查找树的后序遍历结果
来源:互联网 发布:校园网络组建方案 编辑:程序博客网 时间:2024/06/05 14:57
二叉搜索树:
(1) 它或者是一棵空树;
(2) 或者是具有下列性质的二叉树:
<1> 若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
<2> 若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
<3> 左、右子树也分别为二查找序树
5 7 6 | 9 11 10|8
由后序遍历性质可知最后一个元素是根节点
然后根据搜索二叉树性质划分为: 根左子树|根右子树|根
递归处理前两部分
#include<iostream>using namespace std;bool judge(int a[],int length){ if (a == NULL || length <= 0) return true;//此处返回真,否则就错了 int i = 0; int comp = a[length-1]; for (i = 0;i < length-1;i++) { if (a[i] > comp) break; } int k = i; int j = 0; for (j = k;j < length-1;j++) { if (a[j] < comp) { return false;//这里是return,不是break } } bool left = true; if (k > 0) left = judge(a,k); bool right = true; if (j < length-1) right = judge(a+key,length-k-1);//分界点右侧数组,这里要注意哦 return (left&&right);//注意这里是&&}int main(){ int a[] = {7,4,6,5};// judge(a,7); cout << judge(a,4)<<endl; return 0;}
运行如下:
[root@localhost c++]# ./a.out
0
0 0
- 树(4)判断某个序列是否是二叉查找树的后序遍历结果
- 判断某个序列是否是二元查找树的后序遍历结果
- 判断一个序列是否是一个二叉查找树的后序遍历结果
- 【学习点滴-数据结构-二叉树】序列是否是二叉查找树的后序遍历结果
- 判断整数序列是否为二叉查找树的后序遍历结果
- 判断是否是二叉查找树的后序遍历结果
- Interview----判断整数序列是否是二叉搜索树的后序遍历结果
- Java 判断一个序列是否是搜索二叉树的后序遍历结果
- 判断整数序列是否是二叉查找树的后序遍历
- 判断序列是否是二叉查找树的后续遍历结果
- 判断一个序列是否是二叉查找树的后序、前序、中序遍历序列
- 二叉搜索树的后序遍历序列序列判断是否是二叉搜索树
- 判断整数序列是不是某二叉查找树的后序遍历的结果
- 判断整数序列是不是二叉查找树的后序遍历结果
- 判断整数序列是不是二叉查找树(BST)的后序遍历结果
- 判断整数序列是不是二叉查找树(BST)的后序遍历结果
- 判断正数序列是不是二叉查找树的后序遍历结果
- C语言强化(八)判断序列是不是二叉查找树的后序遍历结果
- 设备通信协议制定的一些误区避免
- Java容器类型使用总结
- c语言中的bool
- Spring Boot实战之Filter实现使用JWT进行接口认证
- CCTYPE函数系列
- 树(4)判断某个序列是否是二叉查找树的后序遍历结果
- Laravel 4 系列入门教程(三)
- Python多进程写入同一文件
- OpenCV优化:图像的遍历4种方式
- STM32学习笔记之ADC转换
- Java容器小结和使用示例
- 系统架构师谈企业应用架构之系统建模4(1)
- Android动画之视图动画
- 如何在HTML5中使用SVG