• 判断的后序遍历序列是否是二叉查找树


    二叉查找树:如果左子树不为空,那么左子树上的所有节点都小于根节点;

          如果右子树不为空,那么又子树上的所有节点都大于根节点;

          左右子树也是二叉排序树。

    在后序遍历得到的序列中,最后一个数字是树的根节点的值。数组中前面的数字可以分为两部分:
    • (1)第一部分是左子树结点的值,它们都比根结点的值小
    • (2)第二部分是右子树结点的值,它们都比根结点的值大
    • (3)递归左子树
    • (4)递归右子树

    代码:

      public class BinarySearchTrees
        {
            //有序遍历结果的特点是,最后一个元素是根元素,根据这个根元素会把其他的子序列按照大小分成两个部分,
            //最后递归地对这两个子序列分别进行上述操作
    
            public static bool VerifyBST()
            {
                int[] array = { 5,7,6,9,11,10,8};
              return  VerifyBST(array, 0, array.Length-1);
            }
    
            public static bool VerifyBST(int[] array, int start, int end)
            {
                if (start == end)
                    return true;
                int root = array[end];
    
                //遍历左子树
                int left = start;
                while (left < end && array[left] < root) { left++; }
                left--;
    
                //遍历右子树
                int right = left+1;
                while (right < end && array[right] > root)
                {
                    if (array[right] < root) //右子树如果有小于根节点的,直接返回
                        return false;
                    right++;
                }
    
                //递归左子树
                bool leftRecurse = true;
                if (left - start > 0)
                {
                    leftRecurse = VerifyBST(array, start, left);
                }
    
                //递归右子树
                bool rightRecurse = true;
                if (end - left > 0)
                {
                    rightRecurse = VerifyBST(array, left, end);
                }
    
                return leftRecurse&&rightRecurse;
            }
        }
    

      

  • 相关阅读:
    Jmeter之参数化
    安全测试-业务安全的些许“瞎说”
    (转)LR性能测试结果样例分析
    (转)使用 Nmon 监控 Linux 的系统性能
    Jmeter之断言
    自动化框架httpClient实例
    RabbitMQ集群 Docker一键部署
    使用swing构建一个界面(包含flow ,Border,Grid,card ,scroll布局)
    Jtable实现
    java 使用最新api操作mongodb
  • 原文地址:https://www.cnblogs.com/wuMing-dj/p/3379976.html
Copyright © 2020-2023  润新知