龙空技术网

算法题:检验是否是有效的二叉搜索树(BST)

拉布多不多 348

前言:

现时朋友们对“二叉搜索树python”都比较讲究,大家都想要分析一些“二叉搜索树python”的相关内容。那么小编在网上收集了一些对于“二叉搜索树python””的相关内容,希望各位老铁们能喜欢,各位老铁们一起来学习一下吧!

二叉搜索树特点:

左子树所有节点要比根节点小

右子树所有节点要比根节点大

要判断一棵树是否是有效的二叉搜索树的基础思路就是:遍历所有节点,判断该节点左子树的最大值要小于该节点,判断该节点的右字数的最小值要大于该节点。

这里利用中序遍历的特点:中序遍历是按照 左节点 根节点 右节点 的顺序进行遍历的。一棵有效的二叉搜索树他左子树的最大值是这个左子树的最右节点,而右子树的最小值的是这个右子树的最左节点。

利用中序遍历的特点我们发现只要满足当前节点比它前一个遍历到的节点大就可以判断出这个树是否是有效的二叉搜索树。

这棵树我们中序便利的话输出结果是1,2,3,4,5,6,7,8,9

结合代码:大家体会下。这里我用python实现的

标签: #二叉搜索树python