概述:
- 二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树.是数据结构中的一类.在一般情况下,查询效率比链表结构要高.
定义:
- 一棵二叉查找树是一棵二叉树,每个节点都含有一个Comparable的键(以及对应的值).
- 每个节点的键都大于左子树中任意节点的键而小于右子树中任意节点的键.
- 每个节点都有两个链接,左链接、右链接,分别指向自己的左子节点和右子节点,链接也可以指向null.
- 尽管链接指向的是节点,可以将每个链接看做指向了另一棵二叉树.这个思路能帮助理解二叉查找树的递归方法.
二叉查找树的特性:
- 1.左子树上所有结点的值均小于或等于它的根结点的值.
- 2.右子树上所有结点的值均大于或等于它的根结点的值.
- 3.左、右子树也分别为二叉排序树.
二叉查找树,如下图:
二叉查找树的优点:
- 二叉排序树是一种比较有用的折衷方案.
数组的搜索比较方便,可以直接用下标,但删除或者插入某些元素就比较麻烦.