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

制作logo设计游戏优化软件

制作logo设计,游戏优化软件,wordpress里的模板怎么用,网站建设 推广人员完全二叉树:就是每层横着划过去是连起来的,中间不会断开 比如下面的左图就是完全二叉树 再比如下面的右图就是非完全二叉树 那我们可以采用层序遍历的方法,借助一个辅助队列 当辅助队列不空的时候,出队头元素,入队头…

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

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

这里不同于层序遍历的是,我们这里入左右孩子,如果左右孩子是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.yayakq.cn/news/903664/

相关文章:

  • 九亭做网站HTML做网站的书籍
  • 杭州市建设银行网站wordpress 文章页幻灯片
  • 网站建设上的新闻网站网域名查询
  • 旅游网站作用wordpress崩溃
  • 做ppt好的网站有哪些中小企业网站建设示范平台
  • 网站建设的售后wordpress 在线知识库
  • 网站建设模板怎么直接套商城网站开发周期
  • 成都论坛网站建设建设方案模板范文
  • 门户网站 建设微信小程序开发服务商
  • 个人网站模板吧织梦网站所有图片不显示
  • 房产网站定制wordpress 音乐播放器插件
  • 哪家做网站公司好做网站需要规划哪些内容
  • 网站自助建设推广注册网站服务器
  • 小孩子做手工做游戏的网站金汇网站建设
  • 北京建设部网站源代码如何做网站
  • 邢台做网站推广价格企业网站系统
  • 网站CDN怎么做防攻击吗息烽县住房和城乡建设局网站
  • 百度站长工具添加网站验证2023年央选职位表
  • 网站建设公司一般用什么建站系统wordpress主题添加评论
  • 做网站运营有前景么做网站项目需要多少钱
  • 单位网站建设申请网站开发流程详细介绍
  • 学校学不到网站建设检查网站打开速度
  • 申请域名就可以做网站了吗企业解决方案是什么
  • 化妆品网站设计欣赏公司网站开发立项文档
  • 一键搭建网站工具做花茶的网站
  • wordpress新站都该设置些什么昌黎县城乡建设局网站
  • 营销型网站盈利模式seo外包多少钱
  • 福建省建设干部网站佛山建网站价格
  • 动漫做羞羞的网站优秀的网站首页
  • 高手做网站外包软件公司