1、概念
它是一种抽象数据类型(ADT)或实现这种抽象数据类型的数据结构,用于模拟具有树形结构性质的数据收集。它是由n(n>=1)个有限节点组成有层次关系的集合。之所以被称为“树”,是因为它看起来像倒挂的树,也就是说它是根向上,叶向下。
2、树的种类
- 无序树:树中任意节点的子节点之间没有顺序关系,这种树被称为无序树,也被称为自由树
- 有序树:树中任意节点的子节点之间有顺序关系,这棵树被称为有序树
- 二叉树:每个节点最多含有两棵树的树被称为二叉树
- 完全二叉树:对于一棵二叉树,假设其深度为d(d>1)。除第d层外,其他各层的节点数量已达到最大值,第d层的所有节点从左向右连续紧密排列,这种二叉树被称为完全二叉树,其中满二叉树的定义是所有叶节点都在最下面的完全二叉树
- 平衡叉树(AVL树):只有任何节点的两棵树的高度差不超过1的叉树
- 排序二叉树(二叉搜索树(英语:BinarySearchTree),也称二叉搜索树、有序二叉树)
- 霍夫曼树(用于信息代码):拥有权路径最短的二叉树被称为哈夫曼树或最佳二叉树
b树:优化读写操作的自平衡二叉搜索树,保持数据秩序,有多馀的两棵树。