树的高度和深度,节点的高度和深度

本篇文章中根节点在第1层

一. 树的高度和深度,节点的高度和深度的定义:

  1. 树的高度(Height of a Tree):

    树的高度是从根节点到叶子节点的最长路径上的边数。树的高度是树中所有节点的高度中的最大值

  2. 树的深度(Depth of a Tree):

    树的深度与树的高度通常是同一个概念,即树的高度

  3. 节点的高度(Height of a Node):

    一个节点的高度是从该节点到其最深叶子节点的最长路径上的边数。叶子节点的高度是 0

  4. 节点的深度(Depth of a Node):

    一个节点的深度是从根节点到该节点的路径上的边数。根节点的深度是 0

二. 树的高度和深度,节点的高度和深度的区别:

假设我们有如下的二叉树:

                          层数
        A   ------------>  1   
       / \                                            
      B   C ------------>  2                             
     / \                                          
    D   E   ------------>  3 
       /	
      F     ------------>  4
  • 1. 树高(Tree Height)和 树的深度(Depth of a Tree)

    树高是从根节点 A 到最深的叶子节点的最长路径的长度。路径的长度是指经过的边数。

    • 从根节点 A 到叶子节点 F 的路径是:A -> B -> E -> F。这条路径有 3 条边。

    • 因此,树高和树的深度都是3

  • 2. 节点的高度(Height of a Node)

    节点的高度是指从该节点到其最深的叶子节点的最长路径的长度。我们计算各节点的高度:

    • 节点 F 是叶子节点,它的高度是 0(因为没有子节点)。
    • 节点 E 的高度是从 EF 的路径长度,即 1。
    • 节点 D 是叶子节点,它的高度是 0(没有子节点)。
    • 节点 B 的高度是从 B 到其最深的叶子节点(即 F)的路径长度,即 B -> E -> F,总共 2 条边。
    • 节点 C 是叶子节点,它的高度是 0(没有子节点)。
    • 节点 A 的高度是从 A 到其最深的叶子节点(即 F)的路径长度,即 A -> B -> E -> F,总共 3 条边。

    所以:

    • 节点 A 的高度是 3

    • 节点 B 的高度是 2

    • 节点 E 的高度是 1

    • 节点 c ,D, F 的高度是 0。(因为它们都是叶子节点)

  • 3. 节点的深度(Depth of a Node)

    节点的深度是指从根节点 A 到该节点的路径长度,即经过的边数。

    • 节点 A 是根节点,它的深度是 0

    • 节点 B 的深度是 1(从 AB)。

    • 节点 C 的深度是 1(从 AC)。

    • 节点 D 的深度是 2(从 ABD)。

    • 节点 E 的深度是 2(从 ABE)。

    • 节点 F 的深度是 3(从 ABEF)。

  • 4.总结
    • 树高是从根节点到最深的叶子节点的最长路径的长度。在这个例子中是 3。

    • 节点的高度是从该节点到其最深的叶子节点的最长路径的长度。例如,节点 A 的高度是 3,节点 B 的高度是 2。

    • 节点的深度是从根节点到该节点的路径长度。例如,节点 A 的深度是 0,节点 B 的深度是 1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值