【问题描述】

编写按层次顺序遍历二叉树的算法

实验要求:以二叉链表作为存储结构
【输入形式】

以扩展二叉树前序遍历序列作为输入,创建二叉树。

【输出形式】

输出层次遍历节点的编号,每层按从左到右顺序输出。

【样例输入】

AB#D##C##

【样例输出】

ABCD

//层次顺序遍历二叉树
#include<stdio.h>
#include<stdlib.h>
#include<string.h>#define MaxSize 128// 定义二叉树
typedef struct Node
{                             char         data;       // 数据元素struct Node* lchild;     // 指向左孩子节点struct Node* rchild;     // 指向右孩子节点
}BiNode;                     // struct Node 的别名
typedef BiNode* BiTree;// 定义顺序队
typedef struct Queue
{         int front;               // 队头指针(实际上不是指针,是一个标签) int rear;                // 队尾指针(实际上不是指针,是一个标签)BiNode* data[MaxSize];   // 存放队中元素(保存指针的数组)
}SqQueue;                    // struct Queue 的别名//创建二叉树
BiTree CreateTree()
{ BiTree T;char x=getchar();if(x=='#')  return T=NULL;if(x=='\n') return T;else{ T=(BiTree)malloc(sizeof(BiNode));T->data=x;T->lchild=CreateTree();T->rchild=CreateTree();return T;}
}//层序遍历
void LeverOrder(BiTree T)
{BiNode *q= NULL;                      //创建临时指针q,移动它,来访问输出节点SqQueue* Q;                           //定义队列 QQ=(SqQueue*)malloc(sizeof(SqQueue));  //给Q获取(创建)地址Q->front=Q->rear=-1;if(T==NULL) return; Q->data[++Q->rear]=T;                                while(Q->front!=Q->rear){q=Q->data[++Q->front];printf("%c",q->data);                                    if (q->lchild != NULL)  Q->data[++Q->rear]=q->lchild;if (q->rchild != NULL)  Q->data[++Q->rear]=q->rchild;}
} int main()
{BiTree T;T=CreateTree();LeverOrder(T);return 0;
}//薛定谔的月球  

层次顺序遍历二叉树 (二叉树层序遍历)相关推荐

  1. 遍历children_二叉树:层序遍历登场!

    登场之后,我要打十个! 看完这篇文章虽然不能打十个,但是可以迅速打五个!而且够快! 102.二叉树的层序遍历 给你一个二叉树,请你返回其按 层序遍历 得到的节点值.(即逐层地,从左到右访问所有节点). ...

  2. 代码随想录算法训练营第15天,102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树

    102.二叉树的层序遍历.226.反转二叉树.101.对称二叉树 102.二叉树的层序遍历 二叉树的层次遍历,我们可以定义一个队列, 当访问到某一个节点时,我们将它存在的左右节点放入队列中,便可达到按 ...

  3. tree traversal (树的遍历) - 层序遍历 (level order traversal) - 二叉树的层序遍历

    tree traversal (树的遍历) - 层序遍历 (level order traversal) - 二叉树的层序遍历 1. tree traversal (树的遍历) 1.1 深度优先搜索 ...

  4. 代码随想录算法训练营Day15|Leetcode102二叉树的层序遍历、Leetcode226翻转二叉树、Leetcode101对称二叉树

    Day15打卡! 时长:2h 今日感想:今天主要学习了二叉树层次遍历的思路方法和应用.题目看似简单,实则有很多细节,有时间可以做做其他相似的推荐题目~ Leetcode102 二叉树的层序遍历 题目链 ...

  5. 代码随想录【day 14 二叉树】| 层序遍历 226.翻转二叉树 101.对称二叉树

    代码随想录[day 14 二叉树]| 层序遍历 226.翻转二叉树 101.对称二叉树 层序遍历 卡哥文解 视频讲解 题目链接:102.二叉树的层序遍历 解题思路 代码实现 题目链接:107.二叉树的 ...

  6. 一次字节面试,被二叉树的层序遍历捏爆了

    前言 大家好,我是bigsai,在数据结构与算法中,二叉树无论是考研.笔试都是非常高频的考点内容,在二叉树中,二叉树的遍历又是非常重要的知识点,今天给大家讲讲二叉树的层序遍历. 这部分很多人可能会但是 ...

  7. LeetCode 102二叉树的层序遍历103二叉树锯齿形遍历104二叉树的最大深度

    微信搜一搜:bigsai 大家都在关注的刷题.学习数据结构和算法宝藏项目 关注回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode 97交错字符串(动态规划) LeetCode 98验证 ...

  8. 102. 二叉树的层序遍历 golang

    102. 二叉树的层序遍历 给你一个二叉树,请你返回其按 层序遍历 得到的节点值. (即逐层地,从左到右访问所有节点). 示例: 二叉树:[3,9,20,null,null,15,7], 3/ \9 ...

  9. [Leedcode][JAVA][第102题][二叉树的层序遍历][递归][迭代][BFS]

    [问题描述][第102题][二叉树的层序遍历][中等] 给你一个二叉树,请你返回其按 层序遍历 得到的节点值. (即逐层地,从左到右访问所有节点).示例: 二叉树:[3,9,20,null,null, ...

  10. 二叉树的层序遍历和前中后序遍历代码 迭代/递归

    二叉树的层序遍历和前中后序遍历代码 迭代/递归 只记录代码.思路参考代码随想录:https://github.com/youngyangyang04/leetcode-master/blob/mast ...

最新文章

  1. 破局:自动驾驶人才断层困境
  2. Mac下python3配置opencv3 3和Mac下单独opencv的配置以及iOS下配置opencv
  3. .NET设计模式(2):单件模式(Singleton Pattern)
  4. Spring中的@ Component,@ Repository和@Service批注有什么区别?
  5. python list 换位置_【已解决】Python中把list换成set
  6. Spark平台上提交作业到集群生成的日志文件
  7. iis php打开空白页,windows+IIS+php 访问显示空白页 php版本信息访问正常
  8. 异常和中断处理流程: Exception- or Interrupt-Handler Procedures
  9. python rarfile不支持unicode_python – zipfile提取时的unicode错误
  10. Android图片缩放方法
  11. combox高度修改 winfrom_WinForm窗体中ComboBox控件自定义高度和选项文本居中完美解决方案...
  12. 网易云音乐的所有歌手列表
  13. spdy_buffer
  14. Java语言实现会议安排问题,利用贪心法思想解决问题
  15. Mediator模式(仲裁者设计模式)
  16. 楼盘字典为什么能成为贝壳的超级护城河?
  17. View/ViewGroup的生命周期
  18. 启动kafka报错 count not reserve enough space for 1048576KB object heap
  19. 上海之行,我是来要饭的
  20. SweetAlert 2.0+弹出确认框,点击确定后执行方法

热门文章

  1. 视频号创作者千万不能碰的事情,视频号不被推荐的原因:国仁楠哥
  2. 蒙特卡洛树是什么算法?
  3. 智能wifi插座刷固件
  4. [Halcon测量] 两线直线的角度测量
  5. Spring整合MyBatis:实现登录功能
  6. dtw java 实现_DTW的原理及matlab实现(转载+整理)
  7. 【软工视频】软件、软件工程
  8. 广州线下python培训
  9. c语言指针和结构体(B站鹏哥讲解版)
  10. 技术升级行业升级 TiDB 助力易车打造超级汽车狂欢节