- 01.树的概念
- 02.树的定义
- 03.树的基本术语
- 04.树的分类
- 树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。
- img
- 把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:
- (01) 每个节点有零个或多个子节点;
- (02) 没有父节点的节点称为根节点;
- (03) 每一个非根节点有且只有一个父节点;
- (04) 除了根节点外,每个子节点可以分为多个不相交的子树。
- 若一个结点有子树,那么该结点称为子树根的"双亲",子树的根是该结点的"孩子"。有相同双亲的结点互为"兄弟"。一个结点的所有子树上的任何结点都是该结点的后裔。从根结点到某个结点的路径上的所有结点都是该结点的祖先。
- 结点的度:结点拥有的子树的数目。
- 叶子:度为零的结点。
- 分支结点:度不为零的结点。
- 树的度:树中结点的最大的度。
- 层次:根结点的层次为1,其余结点的层次等于该结点的双亲结点的层次加1。
- 树的高度:树中结点的最大层次。
- 无序树:如果树中结点的各子树之间的次序是不重要的,可以交换位置。
- 有序树:如果树中结点的各子树之间的次序是重要的, 不可以交换位置。
- 森林:0个或多个不相交的树组成。对森林加上一个根,森林即成为树;删去根,树即成为森林。
- 1.Binary Tree(二叉树):二叉树的每个节点最多有两个子节点
- 2.Binary Search Tree(二叉搜索树):二叉搜索树每个节点只存储一个键值,并且左子树(如果有)所有节点的值都要小于根节点的值,右子树(如果有)所有节点的值都要大于根节点的值。
- 3.B-Tree(Balanced Tree):B-树,这里的-不是minus的意思,而是作为连接符的横杠,而我们也经常把B-树直接翻译为B树,所以B树与B-树通常是指一个概念,B代表的是Balance,而不是Binary。而B+树和B*树则是B-树的基础上正对不同场景的优化版本。