二叉树 ——基本知识
目录
## 概念:
二叉树是每个结点最多有两个子树的树结构。通常子树被分为“左子树”(left subtree)和“右子树”(right subtree)。
【注意】:
二叉树并不是树的特殊情形
1. 树中结点的最大度数没有限制,而二叉树结点的最大度数为2;
2. 树的结点无左、右之分,而二叉树的结点有左、右之分。
## 基本类型:
(1)空二叉树
(2)只有一个根结点的二叉树
(3)只有左子树
(4)只有右子树
(5)完全二叉树
## 特点:
1. 本质为一个连通的无环图,同时每一个顶点的度不大于3,根结点的度不大于2
2. 每个顶点有唯一的父结点,和最多2个子结点
3. 在非空二叉树中,第 i 层的结点总数不超过 2^(i-1), i>=1
4. 深度为h的二叉树最多有 2^h - 1, h>=1个结点,最少有h个结点
5. 对于任意一棵二叉树,如果其叶结点数为N,而度数为2的结点总数为M,则 N=M+1
## 分类:
1.满二叉树:深度为k,且有 2^k - 1 个节点的二叉树
2.完全二叉树:除最后一层外,若其余层都是满的,并且最后一层要么是满的,要么右侧缺少连续若干节点
3.平衡二叉树(AVL树):左右两个子树的高度差的绝对值不超过1,且左右两个子树都是一棵平衡二叉树
## 应用:
1.海量数据并发查询,二叉排序树
2.文件系统目录应用、数据库等,B+-Tree
3.路由搜索引擎
...