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

门户网站解决方案百度搜索seo优化技巧

门户网站解决方案,百度搜索seo优化技巧,用wordpress教程,江门靠谱网站建设优化前言:二叉树的实现方式多种多样,有数组实现满二叉树,有链表实现完全二叉树,今天我们就用队列来实现二叉树。 创建二叉树: 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.zhongyajixie.com/news/1830.html

相关文章:

  • 环保局网站建设360站长工具seo
  • 最新人才招聘网优帮云排名优化
  • 有什么网站可以做婚庆视频素材南宁在哪里推广网站
  • 高价做单网站网络营销和推广的方法
  • 如何查询到某网站开发商手机端网站优化
  • 谷哥做网站 是如何推广的网站推广引流最快方法
  • wordpress 文章位置杭州关键词优化测试
  • 简单手机网站开发软件最好的营销策划公司
  • 陕西省交通建设集团公司网站seo优化关键词分类
  • 网站建设心得体会如何在百度上做推广
  • 如何用html做网站广告软文范例大全100
  • 十堰网站设计最近三天的国际新闻大事
  • wordpress为什么进不去了快速排序优化
  • 福州网站的优化网络营销招聘
  • 黑龙江暴雪预警哈尔滨企业网站seo
  • 做app和做网站区别新闻热搜榜 今日热点
  • 建个网站公司广州引流推广公司
  • 郑州市哪里有网站建设加盟培训机构
  • 买了个服务器 怎么做网站搜索引擎营销的6种方式
  • php 建设网站白杨seo
  • 无锡集团网站建设seo搜索优化邵阳
  • 中国矿井建设相关媒体网站网站seo优化免费
  • 锦州网站建设预订如何推广自己的店铺
  • 网页设计代码网站网站提交入口百度
  • 教师个人网站建设网络项目免费的资源网
  • 企业网站建设解决方案网站seo优化公司
  • wordpress 批量上传图片自己怎么优化网站排名
  • 28网站制作手机百度如何发布作品
  • 永久免费做网站 百度一下
  • 国外优秀网站案例搜索引擎营销的案例有哪些