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

青岛住房和城乡建设部网站网站建设丨找王科杰信誉

青岛住房和城乡建设部网站,网站建设丨找王科杰信誉,十大免费软件下载大全,ios软件开发目录 实现思路 代码实现 之前介绍了二叉树的前、中、后序三种遍历,采用的是递归的方式。今天我们来学习另外一种遍历方式——层序遍历。层序遍历不容小觑,虽然实现方法并不难,但是它所采取的思路是很值得学习的,与前三者不同&am…

目录

实现思路

代码实现


之前介绍了二叉树的前、中、后序三种遍历,采用的是递归的方式。今天我们来学习另外一种遍历方式——层序遍历。层序遍历不容小觑,虽然实现方法并不难,但是它所采取的思路是很值得学习的,与前三者不同,我们将采用非递归的方式实现。

层序遍历:从二叉树的根节点出发(设根节点所在为第一层),从上到下,从左到右的一次访问第一、第二、第三......层的节点。

实现思路

我们将采用一种数据结构——队列来实现层序遍历。以这样的二叉树为例:

我们知道队列有个重要的性质,只能从队尾进数据,在队头出数据

因此我们先将 1 入队。

接着让队头的元素 1 出队。在 1 出队的同时有个约定:将 1 所在节点的左、右孩子入队;

接着让队头的元素 2 出队。在 2 出队的同时,将 2 所在节点的左、右孩子入队(若为空节点则不入队);

队头元素 4 出队,左、右孩子入队;

队头元素 3 出队,左、右孩子入队;

队头元素 5 出队,左、右孩子入队;

......

最后,队列为空即表示所有节点都已访问完毕。

代码实现

因为此处用到了队列的知识,若有不明白队列的童鞋可以去看看<队列>的概念&结构&实现【C语言版】小补一下哦。

//队列的初始化
void QueueInit(Queue* pq);
//释放malloc出的内存
void QueueDestroy(Queue* pq);
//入队
void QueuePush(Queue* pq, QDataType x);
//出队
void QueuePop(Queue* pq);
//获取队头的数据
QDataType QueueFront(Queue* pq);
//判断队列是否为空
bool QueueEmpty(Queue* pq);//层序遍历
void BinaryTreeLevelOrder(BTNode* root)
{Queue q;QueueInit(&q);if (root)QueuePush(&q, root);while (!QueueEmpty(&q)){BTNode* front = QueueFront(&q);printf("%d ", front->data);QueuePop(&q);if(front->left)QueuePush(&q, front->left);if(front->right)QueuePush(&q, front->right);}printf("\n");QueueDestroy(&q);
}

http://www.yayakq.cn/news/757893/

相关文章:

  • 上海教育网站前置审批总全设计装饰有限公司官网
  • 南通建设信息网站软件开发公司好的有哪些
  • 车辆管理网站开发wordpress可以连微信
  • 网站建设的后台登录开业时网站可以做哪些活动
  • 天津做网站排名杭州餐饮网站建设
  • seo搜索优化网站推广排名百度推广是什么
  • 建筑工程发布网站传奇网站一般怎么做的
  • 如何做产品销售网站胶州建设信息网站
  • 网站主机有什么用健康资讯网站模板
  • 网站wap怎么做石家庄网站建设就找企行家
  • 戚墅堰做网站能自己做头像的网站
  • 阿里巴巴跟建设网站的区别域名批量注册查询
  • 怎样给网站找空间做备案通付盾 建设网站
  • 龙华网站设计工程建设信息官方网站
  • 深圳品牌网站建设公司有哪些站长工具pr值查询
  • 个人网站建设源代码学编程的正规网课学校
  • 查企业的官方网站组织网站设计公司
  • 校园学生网站开发前端可以做网站吗
  • No家电网站建设建设一个网站预算
  • 正规网站开发需要哪些技术娱乐新闻主题wordpress
  • 哈尔滨网站建设网站建设中广告图片尺寸
  • 厦门做网站推广邮箱网站怎么做
  • ktv网络推广方案wordpress数据库索引优化
  • 深圳 seo 外贸网站建设 多语种自己怎么做卖服装的网站
  • 怎么创作自己的网站清远建网站的公司
  • 推广网站的四种方法昆明猫咪科技网站建设
  • 那个网站的机票做便宜餐饮业网站建设招标书
  • aspnet做网站视频教程编程基础知识大全
  • 怎样做网站发帖wordpress手机版刷新
  • 做房产网站有哪些西安优化网站