zoukankan      html  css  js  c++  java
  • 树和二叉树->基础知识

    树的表示方法

    1 一般表示法

    2 广义表表示法

     

    3 凹入表示法

     

    树的基本术语:

    树:n(n>=0)个结点的有限集

    结点:包含一个数据元素及若干指向其子树的分支

    结点的度:结点拥有的子树数成为结点的度

    叶子(也叫终端结点):度为0的结点

    非终端结点(也叫分支结点):度不为0的结点

    树的度:树内各结点的度的最大值

    孩子:结点的子树的根成为该结点的孩子

    双亲:若B结点是A结点的孩子,则A结点是B结点的双亲

    堂兄弟:其双亲在同一层的结点护卫堂兄弟

    结点的层次:从根开始定义起,根为第一层,根的孩子为第二层

    树的深度(也叫高度):树中结点的最大层次。

    有序树:子树有序的树

    无序树:不考虑子树的顺序

    森林:m(m>=0)棵互不相交的树的集合。

    二叉树定义

    在二叉树中,每个结点至多只有两颗子树,并且,二叉树的子树有左右之分,其次序不能颠倒。关于树的术语也都适用于二叉树

    完全二叉树定义

    一颗深度为k,除第k层外,其它各层的结点数(1~k-1)的结点数都达到最大个数,第k层有叶子结点,且叶子结点从左至右依次排布,这就是完全二叉树。

    满二叉树定义

    一颗深度为k且有2k-1个结点的二叉树成为满二叉树

    二叉树性质

    性质1 在二叉树的第i层上至多有2i-1个结点

    性质2 深度为k的二叉树至多有2k-1个结点, 用等比数列求和公式就可容易证明

    性质3 对任何一颗二叉树T,终端结点数n0和度为2的结点数n2的关系如下:

    n0=n2+1,在博客“内部排序->选择排序->树形选择排序”的附录1已经证明过。

    性质4 具有n个结点的完全二叉树的深度为[log2n]+1

    证明:假设深度为k, 根据性质2和完全二叉树的定义有

    2k-1 < n <= 2k-1

    性质5 对一颗有n个结点的完全二叉树,按层序编号,则对任一结点,都有:

    (1)   根结点除外的其它结点i的双亲为[i/2]

    (2)   结点i的左孩子结点为2*i,(2*i不超过树的结点个数的情况下)

    (3)   结点i的右孩子结点为2*i+1, (2*i+1不超过树的结点个数的情况下)

  • 相关阅读:
    myelipse与idea的javaweb项目创建
    入站规则和出站规则设置
    NAT技术基本原理与应用
    如何将sqlserver数据中的数据导出到服务器
    如何将SqlServer中表结构以及表数据全部导出
    国外服务器--新加坡服务器
    windows server2008 创建新用户 远程桌面连接 和 多用户登录问题
    程序员应该关注的国外IT网站
    IDEA创建普通java和web项目教程
    IIS Express 通过IP访问的方法和坑
  • 原文地址:https://www.cnblogs.com/aimmiao/p/9438678.html
Copyright © 2011-2022 走看看