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

塘厦 网站建设 百度推广优化大师电脑版下载

塘厦 网站建设 百度推广,优化大师电脑版下载,html建设网站,品网站建设公司完全二叉树:就是每层横着划过去是连起来的,中间不会断开 比如下面的左图就是完全二叉树 再比如下面的右图就是非完全二叉树 那我们可以采用层序遍历的方法,借助一个辅助队列 当辅助队列不空的时候,出队头元素,入队头…

完全二叉树:就是每层横着划过去是连起来的,中间不会断开
比如下面的左图就是完全二叉树
再比如下面的右图就是非完全二叉树
在这里插入图片描述
那我们可以采用层序遍历的方法,借助一个辅助队列

当辅助队列不空的时候,出队头元素,入队头元素的左右孩子

这里不同于层序遍历的是,我们这里入左右孩子,如果左右孩子是NULL,我们也入队

当我们在重复执行上面的操作时,我们会有一刻出队列的时候遇到NULL的情况
这时,再对队列的剩余元素进行判断,如果全是NULL则是完全二叉树,否则是非完全二叉树

举例如下
在这里插入图片描述

先把根节点A入队
在这里插入图片描述

然后队列不空,队头A出队,A的左右孩子BC入队
在这里插入图片描述

然后队列不空,队头B出队,B的左孩子D 和NULL入队
在这里插入图片描述

然后队列不空,队头C出队,C的左右孩子E 和NULL入队
在这里插入图片描述

然后队列不空,队头D出队,D的左右孩子NULL入队
在这里插入图片描述
接下来,队不空,出队的元素是NULL
对于这种情况,我们就需要把队列剩余元素看一下了,如果队列剩余元素中有非NULL元素,
那么该树就不是完全二叉树
在这里插入图片描述

代码如下:

//队列相关操作
void InitQueue(SqQueue* Q);//初始化队列
void EnQueue(SqQueue* Q,BiTree T);//入队
void DeQueue(SqQueue* Q,BiTree* T)//出队头元素,用T带回出队元素
int QueueEmpty(SqQueue Q);//判断队列是否为空//判断是否是完全二叉树
int IsComplete(BiTree T){if(T==NULL){//空树是一种特殊的完全二叉树return 1;}SqQueue Q;//初始化一个辅助队列InitQueue(&Q);EnQueue(&Q,T);//根节点入队while(!QueueEmpty(Q)){//层序遍历BiTree p;DeQueue(&Q,&p);if(p!=NULL){//出的队头元素非空//左右孩子入队EnQueue(&Q,p->lchild);EnQueue(&Q,p->rchild);}else{//出的队头元素是NULL//判断队列中剩余元素是否全是NULL//全是NULL——完全二叉树//不全是NULL——非完全二叉树while(!QueueEmpty(Q)){DeQueue(&Q,&p);if(p!=NULL){return 0;}}}}return 1;
}
http://www.khdw.cn/news/25709.html

相关文章:

  • 如何建设网站盈利seo上首页排名
  • 什么网站做弹窗广告好北京计算机培训机构哪个最好
  • 电子商务网站建设实习网络营销成功案例有哪些
  • 做我韩国连续剧网站济南做网站建设的公司
  • h5 服装网站模板广州百度推广排名优化
  • 怎么在网站添加paypal百度业务范围
  • 怎么做淘宝联盟网站制作it培训机构培训费用
  • 如何做网站测试it培训四个月骗局
  • wordpress主题整站杭州产品推广服务公司
  • 鸟人 网站建设推广文章的步骤
  • 网站开发业务流程图国际新闻头条最新消息
  • 有没有做生物科技相关的网站营销方案策划书
  • 娄底网站建设是什么品牌营销策划方案
  • 传统文化网站设计深圳网站优化平台
  • vip解析网站如何做写一篇软文推广自己的学校
  • wordpress是建站工具 还是语言seo排名的职位
  • 成都网站seo设计seo的工作原理
  • 网站的产品中心怎么做2023全民核酸又开始了
  • 做二手房的网站技巧青岛招聘seo
  • 做旅游海报的软件或是网站淮北seo排名
  • 如何做自己的论坛网站私域营销
  • 做外贸网站怎么样哈尔滨seo关键词优化
  • 秦皇岛建设部网站福州百度seo
  • 建立电子商务网站百度怎么优化排名
  • wordpress显示备案号山东seo多少钱
  • 快速网站建设河南seo快速排名
  • 布吉企业网站建设怎样免费制作网页
  • wordpress媒体缩略图长春seo排名收费
  • 网站建设的误区seo优化软件有哪些
  • 在家帮别人做网站赚钱成都网站seo性价比高