二叉树的后序序列
来源:互联网 发布:java ftp断点续传 下载 编辑:程序博客网 时间:2024/06/07 06:54
/****************************************************描述: 输入一个整数数组,判断该数组是不是某个搜索二叉树 的后序遍历。思路: 1、后序遍历中,最后一个节点为根节点。 2、数组可以分为两部分,前面的值比根 节点小,后面的值比根节点大。 3、利用递归的思想,将每个点都作为根 节点来判断,如果所有节点都成立,则 该数组是后序遍历的结果。***************************************************/#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;bool VerifySquenceOfBST(int *arr, int len){ if (arr == NULL || len <= 0) { return false; } int root = arr[len - 1]; int i = 0; //找到第一个大于根节点的值。 for (i; i < len - 1; i++) { if (arr[i]>root) break; } int j = i; //左边以为上面一定满足,现在看右边是否满足 for (j; j < len - 1; j++) { if (arr[j] < root) return false; } //判断做子树是否为二叉搜索树 bool left = true; if (i >0) { VerifySquenceOfBST(arr, i); } //判断右子树是否为搜索树 bool right = true; if (i < len - 1) { right = VerifySquenceOfBST(arr + i, len - 1 - i); } return (left && right);}void test(){ int arr[7] = { 5, 7, 6, 9, 11, 10, 8 }; cout << VerifySquenceOfBST(arr, 7);}int main(){ test(); return 0;}
0 0
- 二叉树的后序序列
- 二叉树的后序遍历序列
- 二叉树------二叉搜索树的后序遍历序列
- 由二叉树的后序序列和中序序列构成二叉树
- 二叉树——判断整数序列是否为二叉搜索树的后序序列
- 二叉搜索树的后序遍历序列序列判断是否是二叉搜索树
- 二叉搜索树的后序遍历序列(判断后序遍历序列是否合法)
- 【树5】二叉搜索树的后序遍历序列
- 题目10:二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 面试题24:二叉树的后序遍历序列
- 题目1367:二叉搜索树的后序遍历序列
- 1367:二叉搜索树的后序遍历序列 @jobdu
- 二叉搜索树的后序遍历序列
- Q24:二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- POJ-----1328
- 由两个栈组成的队列
- Android中多界面跳转的一个简单应用
- 交流对一个人成长的重要性
- hdoj 2818 Building Block(加权并查集)
- 二叉树的后序序列
- php学习--5数组
- Java开发中的23种设计模式详解(转)
- POJ2528 Mayor's posters(线段树+离散化)
- POJ1492——Paths on a Grid(组合数公式)
- 支配集,覆盖集,独立集与匹配
- 【codeforces】Far Relative’s Problem
- 【codeforces】-699B-One Bomb(思维)
- ****Codeforces Round #363 (Div. 2) C. Vacations(DP 动态规划)