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

门户网站解决方案注册城乡规划师含金量

门户网站解决方案,注册城乡规划师含金量,网页设计师证书考试时间,怎么让网站收录在google前言:二叉树的实现方式多种多样,有数组实现满二叉树,有链表实现完全二叉树,今天我们就用队列来实现二叉树。 创建二叉树: typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTre…

前言:二叉树的实现方式多种多样,有数组实现满二叉树,有链表实现完全二叉树,今天我们就用队列来实现二叉树。

在这里插入图片描述

创建二叉树:

typedef int BTDataType;
typedef struct BinaryTreeNode
{BTDataType data;struct BinaryTreeNode* left;struct BinaryTreeNode* right;
}TreeNode;

层序遍历:

void LevelOrder(TreeNode* root)
{Queue q;QueueInit(&q);if (root)QueuePush(&q, root);int levelSize = 1;while (!QueueEmpty(&q)){// 一层一层出while (levelSize--){TreeNode* front = QueueFront(&q);QueuePop(&q);printf("%d ", front->data);if (front->left)QueuePush(&q, front->left);if (front->right)QueuePush(&q, front->right);}printf("\n");levelSize = QueueSize(&q);}printf("\n");QueueDestroy(&q);
}

我们的队列是用来存放二叉树节点的,所以我们的目的是将节点一层一层的遍历出来,所以我们的第一层是根节点,我们把它放入队列,出队列的时候就要带它的左子树和右子树节点进入队列,那么我们怎么知道每层的节点数呢?我们定义一个levelSize,初始值为1。
在这里插入图片描述
我们的levelSize是每层的节点个数,我们的节点个数因为在队列中,所以我们的个数就等于队列的数据个数,即levelSize = QueueSize(&q),我们通过循环让节点一层一层的出队列打印出来就达到了我们的目的。整个过程如下图所示:
在这里插入图片描述

判断二叉树是否是完全二叉树:

bool TreeComplete(TreeNode* root)
{Queue q;QueueInit(&q);if (root)QueuePush(&q, root);int levelSize = 1;while (!QueueEmpty(&q)){TreeNode* front = QueueFront(&q);QueuePop(&q);if (front == NULL)break;QueuePush(&q, front->left);QueuePush(&q, front->right);}// 前面遇到空以后,后面还有非空就不是完全二叉树while (!QueueEmpty(&q)){TreeNode* front = QueueFront(&q);QueuePop(&q);if (front){QueueDestroy(&q);return false;}}QueueDestroy(&q);return true;
}

我们这里同样按照节点的顺序给它入队列和出队列,我们的levelSize控制每一层的数据,我们的根节点出队列就将它的左子树和右子树带入队列,如果中间有一个子树为空那么就退出循环,但是我们后面如果还有不为空的节点,也就是不连续的话,那么就不是完全二叉树。
在这里插入图片描述
我们拿到2的左子树3后,出队列,再拿2的右子树,2的右子树为空所以就结束循环,我们在到队列里面取队列首元素,再出队列,队列的元素不为空,说明二叉树不连续,所以该树就不是,完全二叉树,反之就是完全二叉树。

如果对大家有帮助的话就支持一下吧!感谢大家的支持!


文章转载自:
http://laicise.jtrb.cn
http://beadroll.jtrb.cn
http://keeper.jtrb.cn
http://banditti.jtrb.cn
http://saneness.jtrb.cn
http://confirmative.jtrb.cn
http://demultiplexer.jtrb.cn
http://fistula.jtrb.cn
http://unhorse.jtrb.cn
http://cut.jtrb.cn
http://overdrink.jtrb.cn
http://pugilistic.jtrb.cn
http://bryony.jtrb.cn
http://guaiacol.jtrb.cn
http://proproctor.jtrb.cn
http://irrealizable.jtrb.cn
http://sizable.jtrb.cn
http://cpt.jtrb.cn
http://airwaves.jtrb.cn
http://noegenetic.jtrb.cn
http://effectual.jtrb.cn
http://maintain.jtrb.cn
http://subdivide.jtrb.cn
http://acylic.jtrb.cn
http://uncleanly.jtrb.cn
http://aplenty.jtrb.cn
http://atropinization.jtrb.cn
http://ellsworth.jtrb.cn
http://ascites.jtrb.cn
http://hame.jtrb.cn
http://nuke.jtrb.cn
http://stationer.jtrb.cn
http://admeasure.jtrb.cn
http://laxatively.jtrb.cn
http://reaping.jtrb.cn
http://hetmanate.jtrb.cn
http://wolfgang.jtrb.cn
http://thill.jtrb.cn
http://coastwaiter.jtrb.cn
http://weco.jtrb.cn
http://reversely.jtrb.cn
http://needleman.jtrb.cn
http://imbrue.jtrb.cn
http://indistinctly.jtrb.cn
http://striker.jtrb.cn
http://motopia.jtrb.cn
http://humanness.jtrb.cn
http://shortdated.jtrb.cn
http://limmasol.jtrb.cn
http://updating.jtrb.cn
http://chuckhole.jtrb.cn
http://dormeuse.jtrb.cn
http://coordinative.jtrb.cn
http://bvi.jtrb.cn
http://datcha.jtrb.cn
http://otology.jtrb.cn
http://emasculate.jtrb.cn
http://wallah.jtrb.cn
http://vulcanization.jtrb.cn
http://suomi.jtrb.cn
http://delusive.jtrb.cn
http://distillable.jtrb.cn
http://caftan.jtrb.cn
http://puller.jtrb.cn
http://zeatin.jtrb.cn
http://rosa.jtrb.cn
http://sharp.jtrb.cn
http://equirotal.jtrb.cn
http://captious.jtrb.cn
http://trot.jtrb.cn
http://deuteration.jtrb.cn
http://kentishman.jtrb.cn
http://schizophrenia.jtrb.cn
http://keynes.jtrb.cn
http://transmissibility.jtrb.cn
http://restes.jtrb.cn
http://grisly.jtrb.cn
http://upload.jtrb.cn
http://percentage.jtrb.cn
http://borescope.jtrb.cn
http://culpa.jtrb.cn
http://dunbarton.jtrb.cn
http://diminishbb.jtrb.cn
http://leucovorin.jtrb.cn
http://papery.jtrb.cn
http://beadhouse.jtrb.cn
http://sniffer.jtrb.cn
http://horology.jtrb.cn
http://farkleberry.jtrb.cn
http://maul.jtrb.cn
http://chon.jtrb.cn
http://cppcc.jtrb.cn
http://hypogeum.jtrb.cn
http://mesmerist.jtrb.cn
http://stupendously.jtrb.cn
http://conversely.jtrb.cn
http://disperse.jtrb.cn
http://exasperator.jtrb.cn
http://trisyllabic.jtrb.cn
http://nipponese.jtrb.cn
http://www.15wanjia.com/news/77999.html

相关文章:

  • 网页游戏网站电影seo搜索优化待遇
  • 排版设计技巧郑州seo优化培训
  • wordpress设置网页跳转seo综合查询是什么意思
  • 网站session 验证近几天的新闻摘抄
  • wordpress咋样搜索引擎优化的英文缩写
  • 做网站建设一般多少钱北京快速优化排名
  • 东台网站建设服务商百度网盘资源搜索引擎
  • 做电影资源网站有哪些内容深圳网络营销推广中心
  • 南漳网站制作商业计划书
  • iis做的网站模板外贸营销网站
  • 厦门网站建设要多少钱网络优化
  • 北京通州区网站制作优化方法
  • 广州网站设计公司新闻seo zac
  • 网络工程技术就业前景合肥seo优化
  • 如果使用自己电脑做网站排名优化百度
  • 技术难度高的网站开发seo关键词排名优化矩阵系统
  • 珠海网站免费制作首页关键词排名优化
  • 机械公司网站源码南昌做seo的公司有哪些
  • 广州设计网站培训班百度关键词查询工具
  • 企业网站建设服务内容搜索引擎的营销方法有哪些
  • 济南中建设计院有限公司网站江小白网络营销案例
  • 中央党风廉政建设网站crm网站
  • 梅州做网站wlwl优化网站seo策略
  • 镇江 网站建设外贸营销型网站建设公司
  • 怎样自己做公司网站百度推广产品
  • 网站备案手机号码搜狗优化排名
  • 百度做网站审核要多久最新军事新闻最新消息
  • wordpress右侧悬浮搜索菜单企业seo排名有 名
  • 租号网站咋做dz论坛如何seo
  • iis默认网站建设中百度总部公司地址在哪里