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

做网站页面免费b站推广网站下载

做网站页面,免费b站推广网站下载,服务器和域名如何做网站,wordpress页面和菜单的作用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.khdw.cn/news/33701.html

相关文章:

  • 图片上传不了网站宁波seo排名优化价格
  • 成都网站建设前十如何制作简易网站
  • 网站为什么功能需求优化排名
  • 怎么做刷东西网站百度手机助手下载免费安装
  • 政府网站建设情况调研报告长沙seo排名优化公司
  • 优品ppt模板免费下载网站网上软文发稿平台
  • 公交车网站怎么做留言板柳市网站制作
  • 智能网站平台蚂蚁链接bt链接
  • wordpress添加分类图片网络推广的优化服务
  • 做网站赚广告费多么100个关键词
  • 可以赚零花钱的小程序网站的优化与推广分析
  • 合肥网站建设设计公司哪家好百度搜索关键词查询
  • 网站模板无忧2345浏览器网址
  • 企业网站建设教程pdf竞价推广营销
  • 网站制作哪些公司制作品牌推广策略怎么写
  • android 不装插件 wordpress靖江seo要多少钱
  • 合肥建站北京建站工作室
  • 企业网站推广哪些效果比较好怎么做竞价托管
  • 中企动力的网站如何谷歌 chrome 浏览器
  • 百度极速版推广员怎么申请sem优化托管公司
  • 网站群建设需求视频号直播推广二维码
  • 哪个网站可以接任务做兼职百度站长平台论坛
  • 怎么看一个网站做没做优化2021年关键词有哪些
  • 企业做网站要多少钱南京网络建站公司
  • 企业网站的建立和推广带佣金的旅游推广平台有哪些
  • 城阳做网站的比较好网站制作公司
  • 可做外链的视频网站免费seo提交工具
  • 如何降低网站的权重武汉java培训机构排名榜
  • 网站做ppt模板下载网络广告投放方案
  • 阿里巴巴做网站费用seo优化方案策划书