美文网首页
二叉搜索树判定

二叉搜索树判定

作者: 做自己的Yang光 | 来源:发表于2019-03-13 14:08 被阅读0次

二叉搜索树BST:任意节点的值一定大于其左子树中的每一个节点的值,并小于其右子树中的每一个节点的值。

1.中序遍历的方法


1)对树进行中序遍历,将结果保存在数组中;

2)检测数组是否为升序排列,如果是,则为BST,反之则不是。

进一步优化,为避免使用额外的内存开销,不使用数组。在中序遍历时定义preNode保存前驱节点,如果当前节点小于等于前驱节点,则该树不是BST。


2.思路简单,但效率低

对树中的每个节点,判断左子树的最大值小于当前根节点的值,右子树的最小值大于当前根节点的值,即为BST。

因需要重复遍历树中的部分数据,故效率较低。


3.思维逻辑太过简单,不严谨。即错误。

对于每个节点,判断它的左孩子节点是否小于它,且右孩子节点是否大于它。

忽略了很严重的问题:每棵子树可能保证左<根<右,但并不能保证整棵树的所有左<根<所有右。如[10,5,15,null,null,6,20]。

相关文章

  • Leetcode-Medium 98. Validate Bin

    题目描述 判定一棵树是否满足二叉搜索树的性质。二叉查找树(Binary Search Tree),(又:二叉搜索树...

  • Day3--搜索树

    在二叉判定树以及二分搜索的基础上,基于二叉树的搜索树产生,该数据结构可以随时进行调整,可以保证高效的搜索效率。 内...

  • 判定树

    二叉判定树 描述折半查找过程的二叉树为判定树。 判定树首先是一个二叉排序树,具有n个结点的判定树,与具有n个结点的...

  • 判断一棵满二叉树是否为二叉搜索树

    题目描述: 给定一棵满二叉树,判定该树是否为二叉搜索树,是的话打印 True,不是的话打印 False。 说明: ...

  • 二叉搜索树判定

    二叉搜索树BST:任意节点的值一定大于其左子树中的每一个节点的值,并小于其右子树中的每一个节点的值。 1.中序遍历...

  • 数据结构与算法之二叉搜索树(八)

    目录 二叉搜索树概念二叉搜索树的接口设计,包括增,删,改,查平衡二叉搜索树 一 二叉搜索树 二叉搜索树是二叉树的一...

  • Algorithm小白入门 -- 二叉搜索树

    二叉搜索树二叉搜索树 BSTBST 的基本操作计算合法的 BST 1. 二叉搜索树 BST 二叉搜索树(Binar...

  • 二叉搜索树

    二叉搜索树 图解二叉树搜索算法图解:二叉搜索树算法二叉查找树(Binary Search Tree),(又:二叉搜...

  • 23-红黑树

    1.二叉搜索树(BST)继承二叉树(BinaryTree) 2.平衡二叉搜索树(BBST)继承二叉搜索树(BST)...

  • 二叉搜索树(Binary Search Tree)

    1. 定义 二叉搜索树(BST)又叫二叉查找树,二叉排序树。二叉搜索树就是一棵二叉树,但是它又具有搜索树的特征: ...

网友评论

      本文标题:二叉搜索树判定

      本文链接:https://www.haomeiwen.com/subject/ejhzpqtx.html