二叉树

作者: 喧嚣城外 | 来源:发表于2019-01-30 15:36 被阅读0次

二叉树是数据结构中的一种重要数据结构,也是树表家族最为基础的结构。


定义:

二叉树的每个结点至多只有两棵子树(不存在度大于2的节点),二叉树的子树有左右之分,次序不能颠倒。二叉树第i层至多有 2^i-1 个结点,深度为k的二叉树至多有 2^k-1 个节点。

满二叉树和完全二叉树:

满二叉树:除最后一层无任何子节点外,每一层的所有节点都有两个子节点。也可以这样理解,除叶子节点外的所有节点均有两个子节点。节点数达到最大值,所有叶子节点必须在同一层上。

满二叉树的性质:

  • 一颗树的深度为h,最大层为k,深度与最大层数相同,k=h。
  • 叶子树数为2^h。
  • 第k层的节点数为2^k-1
  • 总节点数是: 2^k-1 ,并且总结点数一定是奇数。
    完全二叉树:若设二叉树的深度为h,除第h层外,其他各层(1~(h-1)层)的节点数都达到最大个数,第h层所有的节点都连续集中在最左边,这就是完全二叉树。

注意:完全二叉树是效率很高的数据结构,堆是一种完全二叉树或者近似完成二叉树,所以效率极高,像十分常用的排序算法、Dijkstra算法、Prim算法等都是要用堆才能优化,二叉排序树的效率也要借助平衡性来提高,而平衡性基于完全二叉树。

二叉树的性质
  • 在非空二叉树中,第i层的节点总数不超过2^i-1 ,i>=1;
  • 深度 为h的二叉树最多有2^h - 1个节点(h>1),最少有h个节点。
  • 对于任意一棵二叉树,如果其叶节点数为N0,而度为2的节点总数为N2,则N0=N2+1.
  • 具有n个结点的完全二叉树的深度为log2(n+1);

相关文章

  • 数据结构与算法-二叉树02

    二叉树的定义 二叉树的特点 二叉树的五中基本形态 其他二叉树 斜二叉树 满二叉树 完全二叉树图片.png满二叉树一...

  • 二叉树

    二叉树 高度 深度真二叉树 满二叉树 完全二叉树 二叉树遍历前序 中序 后序层序遍历 翻转二叉树 递归法...

  • 二叉树 基础操作

    二叉树的使用 二叉树结构 先序创建二叉树 DFS 先序遍历二叉树 中序遍历二叉树 后序遍历二叉树 BFS 层次遍历...

  • 树与二叉树

    **树 ** 二叉树 满二叉树 完全二叉树 三种遍历方法 树与二叉树的区别 二叉查找树 平衡二叉树 红黑二叉树

  • 二叉树的宽度优先搜索(层次遍历,BFS)

    二叉树结构: 二叉树宽度优先搜索: 按照二叉树的层数依次从左到右访问二叉树的节点;例如:给定一个二叉树: 按照宽度...

  • 剑指 offer:39、平衡二叉树

    39. 平衡二叉树 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 解题思路: 平衡二叉树:Wiki:在...

  • Algorithm小白入门 -- 二叉树

    二叉树二叉树构造二叉树寻找重复子树 1. 二叉树 基本二叉树节点如下: 很多经典算法,比如回溯、动态规划、分治算法...

  • 14-树&二叉树&真二叉树&满二叉树

    一、树 二、二叉树 三、真二叉树 四、满二叉树

  • 二叉树的应用

    完美二叉树(满二叉树) 除了最下一层的节点外,每层节点都有两个子节点的二叉树为满二叉树 完全二叉树 除二叉树最后一...

  • 12.树Tree(2)

    目录:1.二叉树的基本概念2.二叉树的性质3.二叉树的创建4.二叉树的遍历 1.二叉树的基本概念 2.二叉树的性质...

网友评论

      本文标题:二叉树

      本文链接:https://www.haomeiwen.com/subject/dpccsqtx.html