【数据结构与算法】第四章:树

【数据结构与算法】第四章:树

标签(空格分隔): 【数据结构与算法】


第四章:树

4.1 预备知识


  • 一棵树是一些节点的集合.一棵树是 N 个节点和 N 1 条边的结合,其中一个节点叫做根.
    image.png-47.8kB

    1. 空树:这个集合是空集.
    2. 这个集合非空时,一颗树由 根(root) 节点 r 以及0个或者多个非空的子树 T 1 , T 2 , . . . , T k 组成的.这些子树中的每一棵的根都被来自 r 的一条有向边(edge)所连接.
    3. 儿子(child):每一颗子树的根称作根 r 的儿子.
    4. 父亲(child) r 是每一颗子树的根的父亲.除去根节点外,每个节点都有且仅有一个父亲.
  • 举例
    image.png-60kB

    1. 在上图的树中,节点 A 是根节点.
    2. 节点 F 由一个父亲 A 和三个儿子 K , L , M .
    3. 树叶(leaf):没有儿子的节点.例如上图中 B , C , H , I , P , Q , K , L , M , N .
    4. 兄弟(sibling):就具有相同父亲的节点.例如上图中 K , L , M .
    5. 类似地,可以定义祖父(grandparent)孙子(grandchild).
    6. 路径(path):从节点 n 1 n k 的路径定义为节点 n 1 , n 2 , . . . , n k 的一个序列,其中节点 n i 是节点 n i + 1 的父亲, 1 i < k .
    7. 路径的长度(length):该边路径上的边的条数,即 k 1 .对于每个节点本身而言,它有一条到自己本身的长为 0 的路径.注意一棵树从根到每个节点仅有一条路径.
    8. 深度(depth):节点 n i 的深度为从根节点 n i 的唯一路径的长.根节点的深度为 0 .
    9. 高(height):从 n i 得到一片树叶的最长路径的长度.所有的树叶的高都是 0 ;一条树的高等于根节点的高;
    10. 如果存在一条 n 1 n 2 的路径,那么 n 1 n 2 的一位 祖先(ancestor) , n 2 n 1 的一个 后裔(descendant) .如果 n 1 n 2 那么 n 1 n 2 的一位 真祖先(proper ancestor), n 2 n 1 的一个 真后裔(proper descendant).

我的微信公众号

猜你喜欢

转载自blog.csdn.net/sd4567855/article/details/80718884