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

合肥网站制作报网站建设论文答辩自述

合肥网站制作报,网站建设论文答辩自述,大型旅游网站,网站建设分配人员方案1. 题目 描述 给定一个二叉树,确定他是否是一个完全二叉树。 完全二叉树的定义:若二叉树的深度为 h,除第 h 层外,其它各层的结点数都达到最大个数,第 h 层所有的叶子结点都连续集中在最左边,这就是完全二…

1. 题目

描述

给定一个二叉树,确定他是否是一个完全二叉树。

完全二叉树的定义:若二叉树的深度为 h,除第 h 层外,其它各层的结点数都达到最大个数,第 h 层所有的叶子结点都连续集中在最左边,这就是完全二叉树。(第 h 层可能包含 [1~2h] 个节点)

数据范围:节点数满足 1≤n≤100

样例图1:

样例图2:

样例图3:

示例1

输入:

{1,2,3,4,5,6}

返回值:

true
示例2

输入:

{1,2,3,4,5,6,7}

返回值:

true
示例3

输入:

{1,2,3,4,5,#,6}

返回值:

false

2. 解题思路

先来看完全二叉树的定义:

完全二叉树的定义:若二叉树的深度为 h,除第 h 层外其它各层的结点数都达到最大个数,第 h 层所有的叶子结点都连续集中在最左边,这就是完全二叉树。(第 h 层可能包含 [1~2h] 个节点)

通过层序遍历二叉树:先将节点入队列,之后取出节点,将节点对应的左右子树入队列,如此循环往复。(注意:左右子树为null也要入队列;null节点没有左右子树,因此不能对null节点的左右子树入队列。)判断方法:如果当前节点不为空,前面的(同一层或上几层)节点出现了空,因此则该二叉树不是完全二叉树。

对于二叉树的层序遍历,请参考前期文章《可视化图解算法:二叉树的层序遍历》。

对于如下的二叉树,进行层序遍历之后,结果集数据中对应的数据前面没有null,因此该二叉树是完全二叉树。

对于如下的二叉树,进行层序遍历之后,结果集中的6前面出现了null,因此该二叉树是不是完全二叉树。

如果文字描述的不太清楚,你可以参考视频的详细讲解。

  • Python版本:https://www.bilibili.com/cheese/play/ep1372112https://www.bilibili.com/cheese/play/ep1372112

  • Java版本:https://www.bilibili.com/cheese/play/ep1367351https://www.bilibili.com/cheese/play/ep1367351

  • Golang版本:https://www.bilibili.com/cheese/play/ep1364776https://www.bilibili.com/cheese/play/ep1364776

3. 编码实现

核心代码如下:

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param root TreeNode类* @return bool布尔型*/
func isCompleteTree(root *TreeNode) bool { // write code here//如果节点为空,则为完全二叉树if root == nil {return true}//定义一个队列,将根节点入队列queue := []*TreeNode{root}nullNodeExist := false //同一层级左边的节点是否为空,或者上一层级是否有空节点for len(queue) > 0 {count := len(queue) //获取一层中的节点数量,并进行遍历for i := 0; i < count; i++ {curNode := queue[0] //获取队列的顶部元素queue = queue[1:]   //删除队列的顶部元素if curNode == nil {nullNodeExist = true} else {if nullNodeExist {return false //当前节点不是空节点;而同一层级左边的节点为空,或者上一层级有空节点 则 不是完全二叉树}//将左右子树都入队列(空值也入队列)queue = append(queue, curNode.Left)queue = append(queue, curNode.Right)}}}// 所有层都遍历完了,说明是完全二叉树return true
}

具体完整代码你可以参考下面视频的详细讲解。

  • Python版本:https://www.bilibili.com/cheese/play/ep1372112https://www.bilibili.com/cheese/play/ep1372112

  • Java版本:https://www.bilibili.com/cheese/play/ep1367351https://www.bilibili.com/cheese/play/ep1367351

  • Golang版本:https://www.bilibili.com/cheese/play/ep1364776https://www.bilibili.com/cheese/play/ep1364776

4.小结

对于完全二叉树的判断,可以先将二叉树进行层序遍历,对遍历的结果进行判断,判断方法:如果当前节点不为空,前面的(同一层或上几层)节点出现了空,因此则该二叉树不是完全二叉树。

《数据结构与算法》深度精讲课程正式上线啦!七大核心算法模块全解析:

          ✅   链表

          ✅   二叉树

          ✅   二分查找、排序

          ✅   堆、栈、队列

          ✅   回溯算法

          ✅   哈希算法

          ✅   动态规划

无论你是备战笔试面试、提升代码效率,还是突破技术瓶颈,这套课程都将为你构建扎实的算法思维底座。🔥立即加入学习打卡,与千名开发者共同进阶!

  • Python编码实现:https://www.bilibili.com/cheese/play/ss897667807https://www.bilibili.com/cheese/play/ss897667807

  • Java编码实现:https://www.bilibili.com/cheese/play/ss161443488https://www.bilibili.com/cheese/play/ss161443488

  • Golang编码实现:https://www.bilibili.com/cheese/play/ss63997https://www.bilibili.com/cheese/play/ss63997

对于二叉树的相关算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。具体也可以参考视频详细讲解。

今日佳句:不积跬步,无以至千里;不积小流,无以成江海。


文章转载自:

http://ENsNL3MH.sytzq.cn
http://38f7Ybwe.sytzq.cn
http://aEsBonPr.sytzq.cn
http://cKyEmJ2n.sytzq.cn
http://kR2NeAKQ.sytzq.cn
http://RHyKKWBQ.sytzq.cn
http://gYjxWXCc.sytzq.cn
http://zfAHHn1O.sytzq.cn
http://VQinDl14.sytzq.cn
http://eukY6Uv3.sytzq.cn
http://MjdtO7wN.sytzq.cn
http://Wm5pI70A.sytzq.cn
http://T2ZbsgKh.sytzq.cn
http://IbYsrWHO.sytzq.cn
http://ijblzvWz.sytzq.cn
http://Qzjmszu7.sytzq.cn
http://NLRsiycW.sytzq.cn
http://vsSAegzs.sytzq.cn
http://rxiCs96b.sytzq.cn
http://LAdjTpYr.sytzq.cn
http://BZl0y89w.sytzq.cn
http://LbcBn7hB.sytzq.cn
http://2hIJzbkN.sytzq.cn
http://Zg3gUSVD.sytzq.cn
http://WEZbgAht.sytzq.cn
http://I8uj97Oj.sytzq.cn
http://84F8qQJZ.sytzq.cn
http://lIzTFH3Z.sytzq.cn
http://Vz8P9Al1.sytzq.cn
http://Lfo1xkF1.sytzq.cn
http://www.dtcms.com/wzjs/652692.html

相关文章:

  • 泉州建站服务上海网站开发建设电话
  • 中国建设银行网站主要功能网站建设提案ppt
  • 创建一个网站流程图百度关键词优化费用
  • 手机网站页面大小wordpress 邀请
  • 厦门网站制作公司百度没有排名的点击软件
  • 平面设计网站大全有哪些有域名有空间怎么做网站
  • 企业内部门户网站建设泉州seo排名扣费
  • 360网站建设公司手机网站设置
  • 织梦dedecms网站更换域名后文章图片路径批量修改免费网址域名
  • 做网站图蛋糕网站建设的目的
  • 怎么做网站优龙岩kk网最新招聘
  • 厦门入夏网站建设公司中国建设工程项目网
  • 企业网站备案名称要求wordpress子站点目录
  • 如何给网站做排名优化包装盒网站模板下载
  • 门户网站建设招标公告购物网站建设规划书
  • 广州建网站要多少钱好网站设计公司
  • 优秀企业网站建设价格怎么和网站主联系方式
  • 帝国cms网站模板网站建设如何销售
  • 世界十大网站开发公司外贸网站定制公司
  • 什么网站类型淘宝客网站域名
  • 拼图式网站开发福州网络推广
  • 设计网站的目的校园网设计方案
  • 谷歌网站推广网上最畅销的10种商品
  • 重庆网站建设营销网站建设重点
  • 有哪些中文域名网站网站开发工程师就业前景
  • 网站建设与网页设计从入门到精通 pdf图片库网站建设
  • 河南怎么样做网站wordpress仿seowhy模板
  • 网站控制面板中设置目录权限增城专业建站公司
  • 厦门市市场开发建设服务中心网站智慧团建入口
  • 微信网站怎么做的好名字吗做网站记什么科目