当前位置: 首页 > news >正文

建设标准 免费下载网站seo高级

建设标准 免费下载网站,seo高级,网站首页内链怎么做,怎样查询网站的备案号Hello,大家好,我是阿月!坚持刷题,老年痴呆追不上我,今天刷:完全二叉树的节点个数 题目 222.完全二叉树的节点个数 代码实现 class TreeNode {int val;TreeNode left, right;public TreeNode(int val) …

Hello,大家好,我是阿月!坚持刷题,老年痴呆追不上我,今天刷:完全二叉树的节点个数

题目

222.完全二叉树的节点个数
在这里插入图片描述

代码实现

class TreeNode {int val;TreeNode left, right;public TreeNode(int val) {this.val = val;this.left = this.right = null;}
}public class CompleteBinaryTreeCount {// 计算完全二叉树的节点个数public int countNodes(TreeNode root) {if (root == null) {return 0;}int leftHeight = leftHeight(root);int rightHeight = rightHeight(root);if (leftHeight == rightHeight) {// 左子树是满二叉树return (1 << leftHeight) - 1;} else {// 左子树不是满二叉树,递归计算左右子树的节点数return 1 + countNodes(root.left) + countNodes(root.right);}}// 计算左子树的高度private int leftHeight(TreeNode root) {int height = 0;while (root != null) {height++;root = root.left;}return height;}// 计算右子树的高度private int rightHeight(TreeNode root) {int height = 0;while (root != null) {height++;root = root.right;}return height;}public static void main(String[] args) {// 创建一个完全二叉树示例TreeNode root = new TreeNode(1);root.left = new TreeNode(2);root.right = new TreeNode(3);root.left.left = new TreeNode(4);root.left.right = new TreeNode(5);root.right.left = new TreeNode(6);CompleteBinaryTreeCount solution = new CompleteBinaryTreeCount();int nodeCount = solution.countNodes(root);System.out.println("完全二叉树的节点个数: " + nodeCount);}
}

实现总结

  • 完全二叉树:完全二叉树的定义是除了最后一层外,其它各层的节点数都达到最大值,且最后一层的节点依次从左到右排列。这一特性对计算节点数有重要影响。
  • 确定解题方法:常见的方法包括递归和迭代。在了解完全二叉树的性质后,可以选择合适的方法求解节点数,上面实现就采用了递归的方式实现。
  • 确定节点数计算方式:针对完全二叉树的特性,可以通过一些方法,如树的高度、子树的特性等来计算节点数。上面实现通过计算左子树和右子树的高度来确定完全二叉树的结构,如果左右子树高度相等,则左子树是满二叉树,节点个数可以通过2的幂次方计算。如果左右子树高度不等,则递归计算左右子树的节点数。
  • 考虑边界情况:对于空树或者只有根节点的情况,需要特殊处理。
  • 时间复杂度O(log^2 N)。递归的深度为树的高度,每次递归中需要计算左右子树的高度,因此时间复杂度为 O(log N),其中 N 为节点个数。在每层递归中,都需要进行一次高度计算,高度计算的时间复杂度也为 O(log N),因此总体时间复杂度为 O(log^2 N)
http://www.yayakq.cn/news/716128/

相关文章:

  • html编辑器在哪里设置通辽网站开发0475seo
  • 河南建设建设监理协会网站设计邦中国官网
  • 南宁营销型网站制作中国冶金建设协会网站
  • 外贸销售网站建设在百度做推广送网站好吗
  • 云海建设工程有限公司网站wordpress添加心情
  • 网站下载器思明区建设局网站
  • tornado网站开发 教程wordpress 多层目录
  • 可信网站认证必须做吗代做网站收费标准
  • 商务网站建设教学视频教程网站建设有哪些费用
  • 网站前端设计招聘烟台seo网站诊断
  • 建设视频网站要求江苏省常州建设高等职业技术学校网站
  • 购物网站排版设计鄂州网格员招聘
  • 上海市浦东新区建设工程安全质量监督站网站wordpress代言宝插件
  • 魔都网站建设wordpress美化博客
  • 绍兴 网站建设 电话专用车网站建设
  • 网站开发需要多少钱app电脑课程培训零基础
  • 南昌房产网官方网站做招聘网站需要做什么公司
  • 免费网站制作app有服务器数据库怎么安装wordpress
  • 邯郸wap网站建设价格中国培训网
  • 网站开发访客ip全国学校信息查询官网
  • 高阳县做企业网站win7做系统网站哪个好
  • 如何建设像艺龙一样网站微网站栏目图标
  • 全球做网站的公司排名宠物网站策划书
  • 企业网站内容建设 知乎公司官方网站一般什么公司做
  • 南通高端网站设计网络营销公司排名榜
  • 公司网站的开发网络开发公司
  • 北京网站改版报价广东省高水平建设专业网站
  • c 网站建设教程视频教程春节网页制作素材
  • 松江外贸网站建设在网站设计中 网页框架设计
  • 开封网站建设流程与开发步骤国外做项目的网站