树-非线性结构

Posted huan30

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树-非线性结构相关的知识,希望对你有一定的参考价值。

  所谓非线性结构,是指在该类结构中至少存在一个数据元素,它具有两个或者两个以上的直接前驱或直接后驱。树型结构就是一种非常重要且应用广泛的非线性结构。

技术图片   

  树的定义:

    树是N(N>= 0)个节点的有限集合。它满足如下条件

    1.有一个特殊的节点称为根节点(Root)

    2.除根结点之外的其余节点可分为m(m>=0)个互不相交的有限集合:T1、T2、T3、T4、T5...,其中每一个集合本身又是一棵树,并且称为根的子树

    3.特别地,可以允许不包括任何节点地树,把它称为空树。只有一个节点地树称为最小树

 

如下图所示是一个具有12个节点地树,其中节点A是根,其余节点又可分为互不相交地结点子集

  T1 = {B,E,F,J,K}

  T2 = {C}

  T3 = {D,G,H,I,L}

T1 T2 T3都是根A的子树,且它们本身也是一棵树,例如T1,根节点是B,其余节点为

  T11 = {E}

  T12 = {F,G,K}

T11 是只有一个根节点的树,没有子树。值得注意的是每棵子树是绝对不能相交的,否则就不能构造一棵递归定义的树

技术图片

   树的特点:

  在一棵树中,通常将一个节点定义为其子树的根结点的前驱节点,而其子树的根结点就是它的后继节点。因此从逻辑上看,树型结构具有以下特点:

  1.树的根节点没有前驱节点,除了根节点之外的所有节点都有且仅有一个前驱节点

  2.树中所有节点可以有零个或多个后继节点

  

  树的基本术语

  1.节点:树型结构里面的元素

  2.子树:当节点大于1时,其余的节点分为互不相交的集合称为子树

  3.度:一个节点拥有子树的数量称为节点的度

  4.叶子:度为0的节点

  5.孩子:节点的子树的根称为孩子节点

  6.双亲:该节点成为孩子的双亲  

  7.兄弟:同一个双亲节点

  8.深度:节点的最大层次成为树的深度

  9.森林:由m个互不相交的树的集合

 技术图片

 

   1.叶子节点有:B D F G H I J

  2.非终端节点有:A C E

  3.A的度为4,C的度为2,E的度为3 其余节点的度为0

  4.树的深度为3

 

 

 

 

 

 

   

 

以上是关于树-非线性结构的主要内容,如果未能解决你的问题,请参考以下文章

数据结构 线性结构(数组[列表] ,链表 单链表的增删改查**, 线性结构的应用 队列 栈[函数的调用**]),非线性结构 树

数据结构编程实验——chapter8-采用树结构的非线性表编程

数据结构 -- 栈队列树

数据结构入门(十四)——非线性结构——树的存储

数据结构入门(十四)——非线性结构——树的存储

数据结构入门(十四)——非线性结构——树的存储