zoukankan      html  css  js  c++  java
  • 树的基本概念和性质

    树的基本概念

    节点的度:子树的个数
    树的度:所有节点度中的最大值
    叶子节点:度为0的节点
    非叶子节点:度不为0的节点
    一棵树可以没有任何节点,称为空树
    一棵树可以只有一个节点,也就是只有根节点
    层数:根节点在第一层,根节点的子节点在第2层,以此类推
    节点的深度:从根节点到当前节点的唯一路径上的节点总数
    节点的高度:当前节点到最远叶子节点的路径上的节点总数

    有序树

     树中任意节点的子节点之间有顺序关系

    无序树

    树中任意节点的子节点之间没有顺序关系,也称为自由树

    森林

    由m(m >= 0) 棵互不相交的树组成的集合

    二叉树的特点

    每个节点的度最大为2(做多拥有2棵子树)
    左子树和右子树是有顺序的(也就是说二叉树是有序的)
    即使某节点只有一颗子树,也要区分左右子树

    二叉树的性质

    非空二叉树的第i层,最多有2的(i-1)个节点(i >= 1)
    在高度为h的二叉树最多有2的h次方-1个节点(h >= 1)

    真二叉树

    真二叉树:所有节点的度都要么为0,要么为2

    满二叉树

    满二叉树:最后一层节点的度都为0,其他节点的度都为2
    在同样高度的二叉树中,满二叉树的叶子节点数量最多、总节点数量最多
    满二叉树一定是真二叉树,真二叉树不一定是满二叉树

    完全二叉树

    完全二叉树:对节点从上至下、左至右开始编号,其所有编号都能与相同高度的满二叉树中编号对应
    完全二叉树的性质:
        叶子节点只会出现最后2层,最后1层的叶子节点都靠左对齐
        完全二叉树从根节点至倒数第2层是一棵满二叉树
        满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树
        度为1的节点只有左子树
        度为1 的节点要么是1个,要么是0个
        同样节点数量的二叉树,完全二叉树的高度最小
  • 相关阅读:
    Visual Studio 2010单元测试(2)--运行测试并查看代码覆盖率
    实用设计模式之观察者模式
    并查集简单题pku1611
    HDU 4534 郑厂长系列故事——新闻净化(AC自动机+DP)
    求 小于 n 的 质数 几种方式
    MySQL数据库高并发优化配置
    MySQL 对于千万级的大表要怎么优化?
    mysql数据库优化总结
    php 正则表达式怎么匹配标签里面的style?
    MySql数据库优化可以从哪几个方面进行?
  • 原文地址:https://www.cnblogs.com/muzichenyu/p/12919638.html
Copyright © 2011-2022 走看看