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

九亭做网站公司佛山模板建站软件

九亭做网站公司,佛山模板建站软件,北京营销推广公司,wordpress网站多语言前言#xff1a;二叉树的实现方式多种多样#xff0c;有数组实现满二叉树#xff0c;有链表实现完全二叉树#xff0c;今天我们就用队列来实现二叉树。 创建二叉树#xff1a; 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://www.w-s-a.com/news/683479/

相关文章:

  • 免费聊天不充值软件windows优化大师下载安装
  • 网站优化的关键词自己怎么做外贸网站空间
  • 现在建设的网站有什么劣势温州互联网公司
  • 重庆自助企业建站模板淘宝关键词top排行榜
  • 平邑网站制作买高端品牌网站
  • 深圳建网站三千网站安全代维
  • 西宁市精神文明建设网站装饰设计甲级资质
  • 做教育行业营销类型的网站徐州做网站多少钱
  • 临沂品牌网站制作企业网站建设搜集资料
  • wordpress注册验证码手机网站优化
  • 往建设厅网站上传东西做衣服的教程网站有哪些
  • 网上商城网站设计免费咨询口腔科医生回答在线
  • 南京网站c建设云世家 s浏览器
  • 如何做镜像别人网站wordpress菜单对齐修改
  • 长春网站建设net企业公示信息查询官网
  • 金鹏建设集团网站可在哪些网站做链接
  • 电子产品网站开发背景网站关键词优化方案
  • 建网站论坛wordpress提交数据库错误
  • 国内网站建设公司开源网站系统
  • 网站开发公司上大连网站建设流程图
  • 银川网站seo宁波网
  • 个人备案网站会影响吗网站添加 备案
  • 网站建设与电子商务的教案关于旅游网站建设的方案
  • 电子商务网站建设设计原则找做网站找那个平台做
  • 天津高端品牌网站建设韶关网站建设墨子
  • Wordpress多站点为什么注册不了2008iis搭建网站
  • 天津高端网站制作建网站的公司服务
  • 温州网站推广优化类似淘宝的网站怎么做的
  • 网站建设实训考试什么网站做玩具的比较多
  • 上海网站建设特点怎样给公司做一个网站做推广