zoukankan      html  css  js  c++  java
  • 数据结构导论 六 树

    树的相关术语

    结点:有一个数据元素及若干指向其他结点的分支所组成

    度:结点的度:该结点的子树树(即分支树)

            树的度:书中结点的度最大值

    叶子(终端结点):度为零的结点

    非终端结点:度不为零的结点

    孩子(子节点):结点的字数根称为该结点的孩子

    双亲(父节点):一个结点称为该节点所有子树根的双亲

    祖先:结点祖先指根道此结点的一条路径上的所有结点

    子孙:某结点到叶结点的分支上的所有结点称为该节点的子孙

    兄弟:同一双亲的孩子之间互称兄弟

    结点层次:从根算起,根为第一层,其孩子在第二层....,L层上任何结点的孩子都在L+1层上。

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

    树的深度:树中结点的最大层次

    有序树:若树中各结点的子树从左到右是有次序的,不能互换,称为有序树

    无序树:若树种结点的子树是无次序的,可以互换,则成为无序树

    森林:是M>=0棵树的集合

    二叉树

    定义:
    二叉树是n(n>=0)个结点的有限集合,它或为空(n=0),
    或是由一个两棵互不相交的左子树和右子树组成,且
    中左子树和右子树也均为二叉树
    特点:
    ①二叉树可以是空的,称空二叉树
    ②每个结点最多只能有两个孩子;
    ③子树有左、右之分且次序不能颠倒

     二叉树结点的子树要区分左子树和右子树,即使只有一棵子树也
    要进行区分,说明它是左子树,还是右子树。这是二叉树与树的最
    主要的差别。下图列出二叉树的5种基本形态,图(C) 和(d)是不
    同的两棵二叉树。

     二叉树的性质:

    1、在二叉树的第I(i>=1)层上之多有2i-1个结点

    2、深度为k(k>=1)的二叉树至多有2k-1个结点

    3、对任何一颗二叉树,如果其终端结点数为n0,度为2的结点数位n2,则n0=n2+1

    满二叉树——深度为k(k>=1)且有2k-1个结点的二叉树

    满二叉树中结点顺序编号:即从第一层结点开始自上而下,从左到右进行连续编号

    完全二叉树:深度位K的二叉树中,K-1层结点数是满的(2k-2),K层结点是左连续的(即结点编号是连续的)

    满二叉树是完全二叉树的特例

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

    5. 对有n个结点的完全二叉树的结点按层编号
    从第1层到第[log2n]+1层,每层从左到右),
    则对任一结点i(1≤i≤n),有:
    (1) 如果i=1,则结点i无双亲,是二叉树的根
    如果i>1,则i的双亲Parent(A)是结点i/2;
    (2) 如果2*i≤n,则其左孩子是结点2*i,
    否则,结点i无左孩子且为叶子结点;
    (3) 如果2*i+1≤n,则其右孩子是结点2*i+1
    否则,结点i无右孩子

     二叉树的顺序存储结构

    它是用一组连续的存储单元存储二叉树的数据元素。因此,必须把二叉树的所有结点安排成为一个恰当的序列,结点在这个序列中的相互位置能反映出结点之间的逻辑关系,可用编号的方法。

    二叉树的顺序存储结构——即对二叉树按完全二叉树进行编号,然后用一维数组存储,其中编号为i的结点存储在数组中下标为i的分量中。

    ——该方法称为“以编号为地址” 策略

     

     

    二叉树的链式存储结构  

     二叉链表示法 :左边指针是左孩子 ,右边指针是右孩子

    1 二叉链表类型定义
    2 typedef struct btnode {
    3 DataType data;
    4 struct btnode *lchild,*rchild;
    5 }*BinTree;;

     在含n个结点的二叉链表中有2n个指针域,其中n-1个用来指向结点的左右孩子,其余n+1个空链域

  • 相关阅读:
    认识AppDomain类
    认识Math类
    控制输入法
    开发中常见错误
    flash视频窗口被关闭卡住了父窗口
    TransactionScope 事务 net2.0
    发现system.collection 命名空间下面的类大部分是基于数组来存储
    utf8 编码出现空白
    如何WEB上的消息提醒
    当前不会命中断点
  • 原文地址:https://www.cnblogs.com/X404/p/12097225.html
Copyright © 2011-2022 走看看