二叉搜索树
二叉搜索树
什么是二叉搜索树
二叉搜索树简称为BST,又称二叉排序树,二叉查找树
二叉搜索树规定:左孩子的值小于根节点的值,右孩子的值大于等于根节点的值
建树
本文采取结构体建树,使用先序遍历建树
思路:
令先序序列为front
list序列的第一项为当前树的根节点,记第一项为root,用双指针的方法对后面的序列进行查找,指针定义为left和right,让left从第二项开始自左向右进行查找,right从最后一项开始自右向左开始查找,我们需要找到:
- list[left] >= list[root]
- list[right] < list[root]
如果此时right + 1 != left则说明无法构成二叉搜索树
代码
1 | const int M = 1e6 + 7; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Haog's blog!
评论
ValineDisqus