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

电子商务网站建设论文摘要网站h1标签用在哪里

电子商务网站建设论文摘要,网站h1标签用在哪里,黑蒜东莞网站建设,域名搜索软件最新免费版目录 一、二叉树理论知识 二、最小深度思路 三、完全二叉树求节点思路 四、相关算法题目 五、总结 一、二叉树理论知识 详见:代码随想录刷题day34|(二叉树篇)二叉树的递归遍历-CSDN博客 二、最小深度思路 2.1 递归法 同最大深度&…

目录

一、二叉树理论知识

二、最小深度思路

三、完全二叉树求节点思路

四、相关算法题目

五、总结


一、二叉树理论知识

详见:代码随想录刷题day34|(二叉树篇)二叉树的递归遍历-CSDN博客

二、最小深度思路

2.1 递归法

同最大深度,不同点在于,求最小深度时,要单独处理,左子树不为空或者右子树不为空的情况,否则容易出错;(五总结里的错误

2.2 迭代法

详见:代码随想录刷题day38|(二叉树篇)二叉树的层序遍历(429、515、116、117、104、111)-CSDN博客

三、完全二叉树求节点思路

基于完全二叉树的特性:借助满二叉树

满二叉树是一种特殊的二叉树,其中每一层的节点数都达到了可能的最大值。这意味着在满二叉树中,除了叶子节点外,每个节点都有两个子节点。满二叉树的高度为h,那么它的节点总数将是2^{h} - 1

如果一棵树是满二叉树,那么求出深度n后,满二叉树的节点数= 2^{n} -1

 故:首先判断一棵子树是否为满二叉树,如果是,根据深度求出节点数返回给上一层节点,如果不是,继续向下遍历,找出满二叉树(注:单个节点是满二叉树);最后根节点根据左子树数量+右子树数量+1,即为完全二叉树的节点个数;

如何判断是否为满二叉树:在完全二叉树的基础上,从某子树的根节点开始向左遍历的深度 = 向右遍历的深度;即为满二叉树,同时深度也已求出;

四、相关算法题目

111.二叉树的最小深度

class Solution {public int minDepth(TreeNode root) {//递归法return getHight(root);}public int getHight(TreeNode node){if(node == null){return 0;}else if(node.left == null && node.right == null){return 1;}else if(node.left == null && node.right != null){return 1 + getHight(node.right);}else if(node.left != null && node.right == null){return 1 + getHight(node.left);}else{int leftHight = getHight(node.left);int rightHight = getHight(node.right);int hight = Math.min(leftHight, rightHight);return 1 + hight;}}
}

222.完全二叉树的节点个数

 递归法

class Solution {public int countNodes(TreeNode root) {//递归法return getNum(root);}public int getNum(TreeNode node){if(node == null) return 0;int leftNum = getNum(node.left);int rightNum = getNum(node.right); //getNum(node.left);//getNum(node.right);return 1 + leftNum + rightNum;}
}

迭代法:层序遍历

class Solution {public int countNodes(TreeNode root) {//层序遍历 队列统计 按照普通二叉树的求法之迭代法Deque<TreeNode> deque = new ArrayDeque<>();if(root == null) return 0;deque.offer(root);int count = 0;while(!deque.isEmpty()){TreeNode node = deque.poll();count++;if(node.left != null) deque.offer(node.left);if(node.right != null) deque.offer(node.right);}return count;}
}

完全二叉树特性

class Solution {public int countNodes(TreeNode root) {//完全二叉树特性return getNum(root);}public int getNum(TreeNode node){if(node == null) return 0;TreeNode leftNode = node.left;TreeNode rightNode = node.right;int leftDepth = 0;int rightDepth = 0;while(leftNode != null){//遍历左侧的深度leftNode = leftNode.left;leftDepth++;}while(rightNode != null){//遍历右侧的深度rightNode = rightNode.right;rightDepth++;}if(leftDepth == rightDepth){//说明是满二叉树return (2 << leftDepth) - 1; // 注意(2<<1) 相当于2^2,所以leftDepth初始为0}else{int left = getNum(node.left);int right = getNum(node.right);return 1 + left + right;}}
}

 五、总结

1.错误代码:当前代码的逻辑是直接取左右子树的最小深度加 1,但这种逻辑在某些情况下会出错。

class Solution {public int minDepth(TreeNode root) {//递归法return getHight(root);}public int getHight(TreeNode node){if(node == null) return 0;int leftHight = getHight(node.left);int rightHight = getHight(node.right);int hight = Math.min(leftHight, rightHight);return 1 + hight;}
}

错误原因:如果某个子树为空,这条路径不应该被考虑。所以应该分情况讨论

2. (2 << leftDepth) - 1

  • 2 << leftDepth 是位运算,等价于 2 * (2^leftDepth),即 2^(leftDepth + 1)

  • (2 << leftDepth) - 1 就是 2^(leftDepth + 1) - 1,即满二叉树的节点总数。


文章转载自:

http://vO1sRNw8.mLwpr.cn
http://VyfpKBMP.mLwpr.cn
http://sS3sgAhH.mLwpr.cn
http://lIF51Rlt.mLwpr.cn
http://IDNGmCAV.mLwpr.cn
http://z8a7bdUa.mLwpr.cn
http://IgeRHN1i.mLwpr.cn
http://stRwU5op.mLwpr.cn
http://AmB1Dlrm.mLwpr.cn
http://yNKrIkyM.mLwpr.cn
http://yxc3adaG.mLwpr.cn
http://2KoI6Nsa.mLwpr.cn
http://px3BYAyU.mLwpr.cn
http://7rbnuDFl.mLwpr.cn
http://z8wTCzc2.mLwpr.cn
http://sDQV5L7l.mLwpr.cn
http://9An6kx3I.mLwpr.cn
http://hp3a5sto.mLwpr.cn
http://ct3ikjz4.mLwpr.cn
http://PGyOTaqQ.mLwpr.cn
http://lK78TeP7.mLwpr.cn
http://RFfvRtyB.mLwpr.cn
http://27usj4Lv.mLwpr.cn
http://NaJGnd02.mLwpr.cn
http://QM4omD5X.mLwpr.cn
http://7XYNQlZZ.mLwpr.cn
http://h7F88AQJ.mLwpr.cn
http://FutzOFKo.mLwpr.cn
http://Mp3XX1M7.mLwpr.cn
http://VehOut9c.mLwpr.cn
http://www.dtcms.com/wzjs/646392.html

相关文章:

  • 自己做网站视频教学莱芜信息港
  • 谎称在网站网站做维护互动科技网站建设
  • 石家庄手机网站建站宁波优化seo
  • 欧泰国际物流网站网络推广是什么专业
  • 国外metro风格网站模板做网站买域名多少钱
  • 珠海建设网站官网wordpress商城制作
  • 网站建设与管理实用教程高新区网站建设公司
  • 门户网站建设经验总结报告网站seo优化包括哪些方面
  • 广州论坛网站标准北京时间久久网
  • 梅州市住房和建设局网站个人的网站怎么备案
  • 主机 可以 多少 网站旅游网站技术方案
  • 佛山网站建设3luewordpress界面英文
  • 网站建设ppt答辩没有网站可以做落地页
  • 网站网站怎么优化关键词排名wordpress主题模块添加图片
  • 做网站找哪家wordpress 一键迁移
  • 建设网站烧钱企业标准备案平台官网
  • 怎样建网站 需要市场监督管理局举报电话
  • 南京网站建设公司 雷在线智能识图
  • 瑞安地区建设网站网站的服务器选择
  • 成都 企业网站设计建旅游网站费用明细
  • 内江网站建设公司南宁做网站培训
  • 外贸网站用什么空间wordpress怎么加动态背景图图片
  • logo设计在线生成免费商标连云港网站关键词优化服务
  • 百度站长平台怎么用dede音乐网站
  • iis 无法访问此网站网址域名注册信息查询
  • 怎么做自己的网站后台教程互动营销案例分析
  • 中国做网站知名的公司广东培训seo
  • 邮件表头图片网站怎么创建网站与网页
  • 中国建设银行官网站企业年金手机网站管理
  • 宁波企业网站开发有限公司破产后债务谁承担