• 25-二叉树的概念


    1. 树

    1.1 定义

    树是 n(n>=0) 个结点的有限集,在任意一棵非空树中:

    • 有且仅有 1 个特定的称为“根”的结点。
    • 当 n>1 时,其余结点可分为 m 个互不相交的有限集 T1,T2,…,Tm,其中每一个集合本身又是一棵树,并且称为根的“子树”。

    1.2 基本术语

    1.3 树的分类

    • 【一般树】任意一个结点的子结点个数都不受限制。
    • 【二叉树】任意一个结点的子结点个数最多 2 个;并且,二叉树的子树有左右之分,其次序不能任意颠倒。

    2. 二叉树

    2.1 性质

    2.2 分类

    2.2.1 一般二叉树

    2.2.2 特殊形态二叉树

    • 满二叉树
      • 一棵深度为 k 且有 2^k - 1 个结点的二叉树称为“满二叉树”。
      • 通俗来讲,就是在不增加树的层次的前提下,无法再多添加一个结点的二叉树称作“满二叉树”。
    • 完全二叉树
      • 对满二叉树的结点进行连续编号,约定编号从根结点起,自上而下,自左至右,由此所引出“完全二叉树”的定义
      • 深度为 k 的,有 n 个结点的二叉树,当且仅当其每一个结点都与深度为 k 的满二叉树中编号从 1 至 n 的结点一一对应时,称之为“完全二叉树”。
      • 通俗来讲,如果删除的是“满二叉树”最高层次最右边的连续若干结点,所剩下的二叉树就是“完全二叉树”// [满二叉树] 是 [完全二叉树] 的一个特例
      • 具有 n 个结点的完全二叉树的深度为 log2n + 1
  • 相关阅读:
    如何优化电量
    140816 记录
    git 提交远程
    HttpClient post json
    JAVA static 作用
    Android Configuration change属性
    Android横竖屏切换处理
    android 多语言版本开发
    JAVA线程池简介
    30个你 “ 不可能全部会做 ” 的javascript题目-答案解释
  • 原文地址:https://www.cnblogs.com/liujiaqi1101/p/12327911.html
Copyright © 2020-2023  润新知