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

    基本术语


    • 树中一个节点子节点的个数称为该节点的度,树中节点最大的度称为称为树的度。如B的度为2,D的度为3,树的度为3
    • 树中节点的子树从左到右有次序的,不能交换的树称为有序树,反之称为无序树
    • 树中两个节点之间的路径是由这两个节点所经过的节点序列构成的,路径的长度是路径上边的个数
    • 树的路径长度是从根节点到每个节点的路径长度总和

    二叉树的概念


    二叉树是有序树,若将其左右子树颠倒,就称为另一颗不同的二叉树。

    满二叉树

    一棵高度为h,并且含有2^h-1个节点的二叉树被称为满二叉树。对满二叉树按层序编号:从根节点起(根节点编号为1),自上而下,自左而右。这样每个节点对应一个编号,对于编号为i的节点,其双亲节点的编号为i/2(取下限),其做孩子节点编号为2i,有孩子节点编号为2i+1

    完全二叉树

    树中节点如果有右孩子那么一定有左孩子,去掉树的最后一层一定是一个满二叉树。

    二叉排序树

    左子树上的每个节点的关键字都小于根节点关键字;右子树上每个节点的关键字都大于根节点的关键字。左右子树都是一棵二叉排序树。

    平衡二叉树

    树上任意一个节点其左子树的高度与右子树的高度之差不超过1

    二叉树性质


     

    • 非空二叉树上叶子节点数等于度为2的节点数加1,即N0 = N2+1

    • 非空二叉树上第K层最多有2^(k-1)个节点

    • 具有N个(N>0)节点的完全二叉树的高度为log(N+1)的上限 

    二叉树的存储


    二叉树可以采用顺序存储也可以采用链式存储。完全二叉树和满二叉树采用顺序存储比较合适,而一般的二叉树都采用链式存储。

     

  • 相关阅读:
    字符串方法
    文件上传路径转虚拟路径
    表结构转excel
    @ModelAttribute
    select
    查询详情在模态框展示
    时间
    mybatis一对多
    bootstrap tab页
    为什么不建议使用WordPress呢?
  • 原文地址:https://www.cnblogs.com/xidongyu/p/5970911.html
Copyright © 2011-2022 走看看