定义:
- 排序二叉树没有重复元素
- 有序
- 左子树的节点都小于当前节点
- 右子树的节点都大于当前节点
查找
- 先与根节点比较,相同则返回
- 大于根节点,在左子树中递归查找
- 小于根节点,在右子树中递归查找
遍历
采用递归方式:
1. 访问左子树
2. 访问当前节点
3. 访问右子树
平衡二叉树(AVL树)定义:任何节点的左右子树的节点高度差最多为1
红黑树定义:任意一条从根节点到叶子节点的路径,没有任何一条路径的长度会比其他路径长过两倍
小结:
与哈希表一样,树也是计算机中一种重要的数据结构和思维方式。。为了能够快速操作数据,哈希表和树是两种基本的思维方式,不需要顺序,优先考虑哈希,需要顺序,考虑树。
除了容器类TreeMap和TreeSet,数据库中的索引也是基于树的(不过是基于B树,而不是二叉树),而索引是能够在大量数据中快速访问数据的关键