美文网首页
二叉树算法之1-计算二叉树第k层节点个数

二叉树算法之1-计算二叉树第k层节点个数

作者: 旭仔_2e16 | 来源:发表于2018-10-08 15:26 被阅读0次

算法思想:递归

public int getCount(Node node, int k){
  if(node==null){
    return 0;
  }
  if(k==0){
    return 1;
  }
  return getCount(node.left, k-1) + getCount(node.right, k-1);
}

算法解析:把k作为计数器通过参数递归传递,递归的过程中不断减1,直到k==0时说明找到一条从根节点到该k(k从0开始)层节点的路径,计作1条路径,也就是一个节点,不断展开左树和右树,最后就是k层节点数的和,即第一层计算结果由第二层得到,第二层计算结果由第三层得到,依次类推,直到第k层计算出最终结果。需要注意的是递归终止条件node==null,说明该条路径深度小于k。

相关文章

  • 堆排序

    完全二叉树 完全二叉树:树深为k层,则除k层外,k-1层的节点全满,且第k层的节点向左靠拢 称为完全二叉树 堆 一...

  • 相关树

    二叉树 性质: 第 n 层最多有 2(n-1) 个节点 深度为 k 的二叉树最多有 2k - 1 个节点 对于任何...

  • 二叉树算法之1-计算二叉树第k层节点个数

    算法思想:递归 算法解析:把k作为计数器通过参数递归传递,递归的过程中不断减1,直到k==0时说明找到一条从根节点...

  • 树 -(完全二叉树)

    完全二叉树是什么? 若设二叉树的深度为k,除第 k 层外,其它各层 (1~k-1) 的结点数都达到最大个数,第k ...

  • 树结构知识汇总

    树结构 树的高度,深度,层 二叉树 二叉树每个节点只能有两个叉。 满二叉树 完全二叉树 除最后一层,其它层节点个数...

  • 二叉树

    二叉树性质 1)在二叉树的第i层上最多有2i-1 个节点 。(i>=1)2)二叉树中如果深度为k,那么最多有2k-...

  • 建堆O(n)时间复杂度证明

    建堆复杂度先考虑满二叉树,计算完全二叉树建堆复杂度基本相同。 对满二叉树而言,第i层(根为第0层)有2^i个节点。...

  • 树概述

    1.树的概念 2.什么是二叉树,满二叉树(节点的个数为:2的k次方-1个 k代表深度), 完全二叉树(除了最深...

  • [树] 二叉树的复习

    Prerequisites log运算法则 满二叉树 vs 完全二叉树 深度为k的满二叉树的节点总数:2^0 + ...

  • 数据结构之逻辑结构_树

    满二叉树与完全二叉树 满二叉树:深度为k且含有(2的k方)-1个结点的二叉树。 完成二叉树:在第k层深度被填满之前...

网友评论

      本文标题:二叉树算法之1-计算二叉树第k层节点个数

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