b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

二叉搜索树的数据结构-后序遍历序列

电脑杂谈  发布时间:2020-07-02 00:14:40  来源:网络整理

二叉树的层次遍历_二叉排序树的遍历_递归遍历二叉树的栈

二叉搜索树数据结构-后序遍历序列

二叉排序树的遍历_二叉树的层次遍历_递归遍历二叉树的栈

标题: 输入整数数组,以确定该数组是否是遍历二叉搜索树的结果. 如果为true,则返回true,否则为false. 假设输入数组中的任何两个数字互不相同

二叉排序树的遍历_二叉树的层次遍历_递归遍历二叉树的栈

分析: 通过后遍历二叉排序树的遍历,我们可以知道最后一个数字是树的根节点,而二叉搜索树的性质可以知道左节点值小于根节点值二叉排序树的遍历,右节点值大于根节点值. 递归.

二叉排序树的遍历_递归遍历二叉树的栈_二叉树的层次遍历

/*
剑指offer面试题24
*/
#include <iostream>
using namespace std;
bool IsPostTree(int* a,int length){
    if(length <= 0){
        return false;
    }
    int root = *(a+length-1);
    int i=0;
    for(;i<length-1;i++){
        if(a[i] > root){
            break;
        }
    }
    int j=0;
    for(j=i;j<length-1;j++){
        if(a[j] < root){
            return false;
        }
    }
    bool left = true;
    if(i>0){
        left = IsPostTree(a,i);
    }
    bool right = true;
    if(j<length-1){
        right = IsPostTree(a+i,length-i-1);
    }
    return (left && right);
}
int main()
{
    int length,n;
    cin >> length;
    int a[length];
    if(length > 0){
        for(int i=0;i<length;i++){
            cin >> n;
            a[i] = n;
        }
    }
    bool result = IsPostTree(a,length);
    cout << result;
    return 0;
}

二叉排序树的遍历_二叉树的层次遍历_递归遍历二叉树的栈

发布于2014-05-20 14: 49Ja°Read(...)评论(...)编辑


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-265145-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...