美文网首页
数据结构:树

数据结构:树

作者: 胡博要毕业 | 来源:发表于2018-10-08 16:49 被阅读0次

    1、什么是树?

    在计算机科学中,(英语:tree)是一种抽象数据类型,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。

    2、树的相关术语

    • 节点的度:一个节点含有的子树的个数称为该节点的度;
    • 树的度:一棵树中,最大的节点的度称为树的度;
    • 叶节点或终端节点:度为 0 的节点;
    • 非终端节点或分支节点:度不为 0 的节点;
    • 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;
    • 孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;
    • 兄弟节点:具有相同父节点的节点互称为兄弟节点;
    • 节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;
    • 深度:对于任意节点n, n的深度为从根到n的唯一路径长,根的深度为 0;
    • 高度:对于任意节点n, n的高度为从n到一片树叶的最长路径长,所有树叶的高度为 0
    • 堂兄弟节点:父节点在同一层的节点互为堂兄弟;
    • 节点的祖先:从根到该节点所经分支上的所有节点;
    • 子孙:以某节点为根的子树中任一节点都称为该节点的子孙。
    • 森林:由 m(m>=0)棵互不相交的树的集合称为森林;

    3、树有哪些特点?

    • 每个节点有零个或多个子节点
    • 没有父节点的节点称为根节点;
    • 每一个非根节点有且只有一个父节点;
    • 除了根节点外,每个子节点可以分为多个不相交的子树;

    4、树的高度和深度?

    • 树的高度是根节点到叶子节点(树末端)的最大长度
    • 结点的深度是它到根结点的长度

    5、举例说明

    图一 树.PNG

    在图一中:

    • A是根节点,A没有父节点。
    • B是E和F的父节点,同时E和F是B的子节点; B也是A的子节点, 而A是B的父节点。
    • A和D有三个子节点,节点的度对应2 , B和E有两个子节点,节点的度对应2,C和H有1个子节点,节点的度对应1,K、L、F、G、J和M没有子节点,节点的度对应0。
    • 节点的度为0的节点为叶子节点,所以K、L、F、G、J和M 是叶子节点。
    • 节点的最大度为3,所以该树的度为3。
    • H、I、J的父节点都是D,所以H、I和J是兄弟节点,同理B、C和D也是兄弟节点。
    • E和F的父结点是B,在第二层,H、I和J的父结点是D也在第二层,所以E、F和H、I、J为堂兄弟节点。
    • A是其他所有节点的祖先; B也是E、F、K和L的祖先。
    • 因为B->E->K的路径长度为3,B节点的高度为 3。
    • 因为A-> C -> G的路径长度为3,所以G的深度为3。
    • 因为A->B->E->K的路径长度为4,所以树的高度为4。
    • 树的高度和深度是一样的,树的深度也是4。

    相关文章

      网友评论

          本文标题:数据结构:树

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