美文网首页
大话数据结构 树

大话数据结构 树

作者: KD小帅 | 来源:发表于2018-09-27 16:46 被阅读0次

    树的定义

    树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中,有且仅有一个特定的称为根(Root)的结点,当n>1时,其余结点可分为m(m>0)个互不相交有限集T1,T2。。。Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。

    对于树的定义还要强调2点:

    (1)n>0时根结点是唯一的,不可能存在多个根结点,只能有一个根结点。

    (2)m>0时子树的个数没有限制,但他们一定是互不相交的。

    树的结点包含一个数据元素以及若干指向其子树的分支。结点拥有的子树数称为结点的度(Degree)。度为0的结点称为叶结点(Leaf)或者终端结点。度不为0的结点称为非终端结点或分支结点。除根结点之外,分支结点也称为内部结点。树的度是树内各结点的度的最大值。

    结点的层次(Level)从根开始定义起,根为第一层,根的孩子为第二层,树中结点的最大层次称为树的深度(Depth)或者高度。

    如果将树中结点的各子树看成从左至右是有次序的,不能互换的,则称该树为有序树,否则称为无序树。

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

    树的存储结构

    (1)双亲表示法

    我们假设以一组连续空间存储树的结点,同时在每个结点中,附设一个指示器指示其双亲结点到链表中的位置。也就是说,每个结点除了知道自己是谁以外,还知道它的双亲在哪里。

    双亲表示法

    其中data是数据域,存储结点的数据信息,而parent是指针域,存储该结点的双亲在数组中的下标。

    由于根结点没有双亲,所以我们约定根结点的设置域为-1,这就意味者,所有的根结点都存有他双亲的位置。

    双亲表示法

    (2)孩子表示法

    (3)孩子兄弟表示法

    相关文章

      网友评论

          本文标题:大话数据结构 树

          本文链接:https://www.haomeiwen.com/subject/chweoftx.html