二叉搜索树BST
前面我们讲了二叉树,二叉搜索树(BST
)就是特殊的二叉树而已。
首先,BST
性质:
- 对于
BST
的每个节点node
,左子树节点的值都比node
的值小,右子树节点的值都比node
的值大。 - 对于
BST
的每一个节点node
,它的左子树和右子树都是BST
BST
的中序遍历是升序。
二叉搜索树并不算难,但是基于BST
的数据结构有二叉平衡树(AVL
),红黑树等等,还有B+
树,线段树等结构都是基于BST
的思想来设计的。
二叉搜索树上的基本操作所花费的时间与这棵树的高度成正比。基本操作的运行时间为O(lgN)
对于特性三,我们输入一颗BST
树,可以通过中序遍历把BST
中每个节点的值升序打印出来。