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

长春建设工程信息网站soho做网站

长春建设工程信息网站,soho做网站,河南住房与城乡建设部网站,出口网站制作目录 分析 分析 1.完全二叉树的概念:对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 要注意的是满二叉树是一种特殊的完全二叉树。 2.思路:可以采…

目录

  • 分析

分析

1.完全二叉树的概念:对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 要注意的是满二叉树是一种特殊的完全二叉树。
在这里插入图片描述

2.思路:可以采用层序遍历的方法,把节点依次放入队列中,空节点也要放进去,在出队列的时候,出到空了,就开始遍历整个队列,如果整个队列都是空节点,则是完全二叉树,遇到非空节点,就不是完全二叉树。
在这里插入图片描述注意:那会不会出现有些非空节点还没有进队列,就已经开始判断是否有非空节点?
当然,这种情况是不会存在的。
后面非空节点一定是前面非空节点的孩子,前面非空节点已经出了队列,那么后面的非空节点肯定也已经入了队列
在这里插入图片描述

3.代码

bool TreeComplete(BTNode* root)
{Queue q;//创建队列QueueInit(&q);//队列的初始化QueuePush(&q, root);//将根节点进到队列中while (!QueueEmpty(&q)){BTNode* front = QueueFront(&q);//取出队头的数据,判断对头是否为空,为空的话,我们就可以不用出队列了,直接访问剩下的队列的数据if (front == NULL){break;}QueuePop(&q);//出对头数据QueuePush(&q, front->left);//进左孩子QueuePush(&q, front->right);//进右孩子}//继续判断接下来的队列数据是否有非空的节点,有的话,就不是完全二叉树。while (!QueueEmpty(&q)){BTNode* front = QueueFront(&q);{if (front){QueueDestroy(&q);return false;}}QueuePop(&q);}QueueDestroy(&q);return true;
}

这里我没有写队列的数据结构,我是写好了,直接拿来用的。
在这里插入图片描述

http://www.yayakq.cn/news/56740/

相关文章:

  • 网站信息服务费怎么做分录网络营销推广三板斧
  • 网站制作加谷歌推广网站加seo需要多少钱
  • 虹口区网站开发wordpress主题首页怎么修改
  • 网站推广哪个平台好html个人主页模板
  • 设计公司网站建设费用工程公司取名字大全
  • 阿里云做网站软件开发模型定义
  • 上海网站建设哪家快速上线专业的基础微网站开发
  • 惠州网站制作询问薇没有服务器怎么做网站
  • 网站开发公司地址东明菏泽网站建设
  • 建立网站接受投注是什么意思深圳市龙岗区光明区
  • 网页设计与网站建设文档浙江网站设计 site
  • 郑州建设工程信息网站模仿网站 素材哪里来
  • 广州短视频网站开发免费ppt模板下载公众号
  • 网站改版阿里云怎么做网站301定向常德做网站公司哪家好
  • 网站不同时期的优化工作该怎么做丹徒网站建设信息
  • 手机网站导航栏如何做网红营销的定义
  • 网站页尾模板注册网站公司
  • 网站公司备案有用国家为什么不禁止外包
  • 惠州惠阳网站建设做字体网站
  • 网站做支付接口吗广州自助网站推广建站
  • 交流平台网站怎么做不了怎么做页眉
  • 龙华网网站镇平县两学一做网站
  • 山东省住房与城乡建设网站建设视频网站要求
  • 如何在网上推广农产品网站关键词怎样优化
  • 网站制作视频浏览器直接进入网站的注意事项
  • 网站建设推广兼职法拍重庆网站
  • 律师事务所网站案例我爱南宁地铁app下载
  • 怎么做网站不用备案西安app制作设计公司
  • 企业培训网站做销售网站
  • 做网站怎么打空格兰溪建设网站