其他分享
首页 > 其他分享> > 二叉树

二叉树

作者:互联网

二叉树

树的定义

​ 树是由n(n \(\geq\) 0)个结点组成的有限集合。如果n=0,称为空树;如果n>0,则

树的特定

​ 每颗子树的根结点有且只有一个直接前驱,但可以有0个或者多个直接后继。

树的常用术语(结合示意图理解):

二叉树的概念

二叉树的定义

​ 二叉树的定义采用递归定义方式

​ 二叉树是由n(n \(\geq\) 0)个结点组成的有限集T。当n=0时,称为空二叉树。当n>0时,集合T必须满足如下条件:

二叉树就是每个结点的度 \(\leq\) 2的有序树(左子树和右子树的次序不能颠倒),每个节点最多只能有两个子节点(不存在度大于2的结点)。

满二叉树

除了最后一层的结点为叶子结点外其他结点都有左、右两颗子树,则这棵二叉树为满二叉树。

完全二叉树

完全二叉树是指其结点与相同深度的满二叉树中的结点编号完全一致的二叉树。对于深度为k的完全二叉树,其前k-1层与深度为k的满二叉树的前k-1层完全一样,只是在第k层上有可能缺少右边若干个结点。

简单点理解就是,在完全二叉树中,除最后一层外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干若干,只可能缺少右边的若干结点。

满二叉树必定是完全二叉树,反之不一定

二叉树性质

性质1: 在二叉树的第i层上至多有\(2{^{i-1}}\)个结点(i>0)
性质2: 深度为k的二叉树至多有\(2{^{k-1}}\)个结点(k>0)
性质3:在二叉树中,若度为0的结点(即叶子结点)数为\(n_0\),度为2的结点数为\(n_2\),则\(n_0\)=\(n_2\)+1。
性质4:具有n个结点的完全二叉树其深度为\(\lfloor log2^n \rfloor\)+1(其中\(\lfloor log2^n \rfloor\)表示不大于\(log2^n\)的最大整数,即向下取整)
性子5:对完全二叉树,若从上至下、从左至右编号,则编号为i 的结点,其左孩子(左子树的根结点)编号必为2i,其右孩子(右子树的根结点)编号必为2i+1;其双亲的编号必为\(\lfloor i/2 \rfloor\)(i=1 时为根,除外。其中\(\lfloor i/2 \rfloor\)表示不大于i/2的最大整数,即向下取整)

二叉树的递归遍历

利用树递归特性可以将二叉树进行递归遍历

  1. 先序遍历:先根 再左 再右(根左右)
  2. 中序遍历:先左 再根 再右(左根右)
  3. 后序遍历:先左 再右 再根(左右根)

标签:结点,称为,路径,后继,双亲,二叉树
来源: https://www.cnblogs.com/DarkH/p/15972075.html