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

5.3.1_2 二叉树的层次遍历

  • 👋 Hi, I’m @Beast Cheng
  • 👀 I’m interested in photography, hiking, landscape…
  • 🌱 I’m currently learning python, javascript, kotlin…
  • 📫 How to reach me --> 458290771@qq.com

喜欢《数据结构》部分笔记的小伙伴可以订阅专栏,今后还会不断更新。🧑‍💻
此外,《程序员必备技能》专栏日后会逐步更新,感兴趣的小伙伴可以点一下订阅、收藏、关注!🚀
谢谢大家!🙏

![[Pasted image 20240616161315.png]]

算法思想:

  1. 初始化一个辅助队列
  2. 根结点入队
  3. 若队列非空,则头结点出队,访问该结点,并将其左、右孩子插入队尾(如果有的话)
  4. 重复第三步,直到队列为空
// 层序遍历
void LevelOrder(BiTree T){LinkQueue Q;InitQueue(Q);          // 初始化辅助队列BiTree p;EnQueue(Q, T);         // 根结点入队while(!isEmpty(Q)){    // 队列不空则循环DeQueue(Q, p);     // 对头结点出队visit(p);          // 访问出队结点if(p->lchild != NULL)EnQueue(Q, p->lchild);  // 左孩子入队if(p->rchild != NULL)EnQueue(Q, p->rchild);  // 右孩子入队}
}// 二叉树的结点(链式存储)
typedef struct BiTNode{char data;struct BiTNode *lchild, *rchild;
}BiTNode, *BiTree;// 链式队列结点
typedef struct LinkNode{BiTNode *data;struct LinkNode *next;
}LinkNode;typedef struct{LinkNode *front, *rear;  // 队头队尾
}LinkQueue;

相关文章:

  • 大学牲期末救命医疗包速达~【概率论/马原/编译原理等工科课程速成】
  • MySQL数据操作与查询- 连接查询
  • 算法体系-21 第二十一 暴力递归到动态规划(三)
  • 专业学习|博弈论-博弈论概述
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • Mysql的增、删、查、改
  • 使用python绘制三维散点图
  • RK平台Android单独编译内核
  • 【打鼹鼠game】
  • 深度学习Day-20:DenseNet算法实战 乳腺癌识别
  • mysql在linux下安装与配置
  • AI 定位!GeoSpyAI上传一张图片分析具体位置 不可思议! ! !
  • 做外贸开发客户使用外贸软件有必要吗?
  • Ionic 创建 APP
  • 【Ubuntu20.04】安装XRDP远程桌面服务
  • create-react-app做的留言板
  • ECMAScript入门(七)--Module语法
  • export和import的用法总结
  • Javascript Math对象和Date对象常用方法详解
  • magento2项目上线注意事项
  • October CMS - 快速入门 9 Images And Galleries
  • orm2 中文文档 3.1 模型属性
  • vue学习系列(二)vue-cli
  • 分布式事物理论与实践
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 数据仓库的几种建模方法
  • 最简单的无缝轮播
  • 你对linux中grep命令知道多少?
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​linux启动进程的方式
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (强烈推荐)移动端音视频从零到上手(下)
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三)模仿学习-Action数据的模仿
  • .Net 6.0 处理跨域的方式
  • .NET 反射 Reflect
  • .NET 分布式技术比较
  • .net 验证控件和javaScript的冲突问题
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET单元测试
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • [AIGC] Java 和 Kotlin 的区别
  • [Angular] 笔记 20:NgContent
  • [Flex][问题笔记]TextArea滚动条问题
  • [Flutter]打包IPA
  • [FreeRTOS 基础知识] 栈
  • [FTP]pureftp部署和优化
  • [git] windows系统安装git教程和配置
  • [hdu 2826] The troubles of lmy [简单计算几何 - 相似]
  • [javascript]Tab menu实现
  • [java基础揉碎]关系运算符(比较运算符)逻辑运算符赋值运算符三元运算符运算符的优先级