给定节点数计算完全二叉树的深度

计算完全二叉树的深度

  1. n >= 1 否则返回 0

  2. 给定节点 n 的个数,根据公式:
    deep=\lfloor{log_{2}n}\rfloor+1 或者 deep=\lceil{log_{2}{n+1}\rceil}

  3. 代码块

    import java.util.Scanner;
    
    public class Shendu {
        public static void main(String[] args) {
    
            Scanner sc = new Scanner(System.in);
            int nodeNum = sc.nextInt();
            shendu(nodeNum);
    
            sc.close();
        }
    
        /**
         * 根据节点数,计算完全二叉树的深度
         * @param nodeNum
         */
        public static void shendu(int nodeNum) {
            if (nodeNum >= 1) {
                // 使用换底公式
                int deep = (int)((Math.log(nodeNum)) / (Math.log(2))) + 1; // 向下取整 + 1
                System.out.println(deep);
            } else {
                System.out.println(0);
            }
        }
    
    }
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容