树的结构包括:
1 二叉查找树;平衡二叉树;红黑树;B-树;B+树; 字典树; 后缀树; 广义后缀树。
如果树不是一颗空树的话,那么二叉查找树具有以下特征:
1.1 若左子树不为空,那么左子树所有的节点的值小于均小于他的根节点的值
1.2 若由子树不为空,那么右子树的所有的节点的值大于根节点的值
1.3 左右子树也分别为二叉排序树
1.4 没有键值相等的节点
2 平衡二叉树
AVL树的性质: 它是一颗空树或它的左右子树的高度差绝对值不超过1,并且左右两个子树是一颗平衡二叉树。
3 红黑树
3.1 每个节点要么是红的,要么是黑的。
3.2 根节点必须是黑的
3.3 每个叶子节点是黑的
3.4 如果父节点是红的,那么两个子节点是黑的
3.5 对于每个节点,从该节点到其子孙节点的所有路径上包含相同的数目
4 B-树
B-树是一种多路搜索树
根结点至少有两个子女
所有的叶子结点都位于同一层。
5 B+ 树
B+ 树是B- 树的变体,也是一种多路搜索树:
5.1 其定义基本与B-树同
5.2 非叶子结点的子树指针与关键字个数相同
5.3 非叶子结点的子树指针P[i],指向关键字值属于[K[i],K[i+1]) 的子树
5.4 为所有叶子结点增加一个链指针
5.5 所有关键字都在叶子结点出现
6 字典树
6.1 又称单词查找树,Trie 树,是一种哈希树的变种,字典应用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜素引擎系统用于文本词频统计
6.2 优点: 利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串的比较,查询效率比哈希表高
6.3 字典树和字典很相似,当你要查一个单词是不是在一个字典树种,首先看单词的第一个字母是不是在字典的第一层,如果不在,说明字典树里没有该单词,如果在就在该字母的孩子节点里面找是不是有该单词的第二个字母,没有说明没有该单词,有就用相同的方法继续查找。
7 平衡二叉树的介绍
平衡儿二叉树被称为AVL 树,具有以下性质:它是一颗空树或它的左右子树的高度差绝对值不超过1,并且左右两个子树都是一颗平衡二叉树。
平衡二叉树实现的方法有红黑树,AVL,替罪羊树,伸展树。