首页 > 编程语言 >树的层序遍历算法框架

树的层序遍历算法框架

时间:2023-12-04 15:22:33浏览次数:36  
标签:遍历 cur 层序 算法 right que push root size

1 核心代码框架

点击查看代码
void levelOrder(TreeNode* root) {
    if (!root) return;
    queue<TreeNode*> que;
    que.push(root);
    while(!que.empty()) {
        int size = que.size();
        for (int i = 0; i < size; i++) {
            TreeNode* cur = que.front();
            que.pop();
            //对弹出节点作相应操作
            if (cur->left) {
                que.push(cur->left);
            }
            
            if (cur->right) {
                que.push(cur->right);
            }
        }
        //这里可以计算深度
    }
}

标签:遍历,cur,层序,算法,right,que,push,root,size
From: https://www.cnblogs.com/zawaludo/p/17875028.html

相关文章

  • 链表算法笔记
    ​ 类型:单链表、双链表、循环链表操作:删除节点、添加节点        在删除节点时,C++里最好是再手动释放所删除的节点,释放内存,但是如Java、Python等语言,它们有自己的内存回收机制,就不需要手动释放了。使用虚拟头节点的原因使第一个节点和其他节点的增加和删除操作统一,......
  • 【算法】远方来信,从数学表达式算法到汇编语法解释器
    在繁华的都市中,小悦作为一名软件工程师,每天都在这座钢筋水泥的森林里忙碌。她的生活似乎被工作和各种琐碎的事情填满了,但在这个繁忙的生活中,她总能在工作之余找到一些小小的乐趣。这天下班后,小悦收到了一封来自国外同学苏菲的email。邮件的内容让她的思绪一下子飘回了那个学习汇......
  • 基于TDOA和FDOA的RSSI定位算法matlab仿真
    1.算法运行效果图预览仿真定位误差随着节点数量的增加而降低的变化曲线: 三种算法在不同的网络大小下的估计误差:   2.算法运行软件版本matlab2022a  3.算法理论概述      TDOA和FDOA是基于测距的定位算法中的两种常见方法,它们都是通过测量信号的到达时......
  • 基于FPGA的图像形态学膨胀算法实现,包括tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览在FPGA中仿真结果如下所示:   将FPGA中的仿真结果导入到matlab显示二维图,效果如下:   2.算法运行软件版本matlab2022a vivado2019.2 3.算法理论概述      膨胀操作是形态学中另外一种基本的操作。膨胀操作和腐蚀操作的作用是相......
  • 代码随想录算法训练营第5天 | lc242、lc349、lc202、lc1
    (本合集全部为Go语言实现)相关文章链接:242题解349202题解1题解相关视频链接:Leetcode242状态:秒了实现过程中的难点:对于元素固定是小写字母或类似的情况,可以使用数组,因为元素最大数量是固定的个人写法funcisAnagram(sstring,tstring)bool{iflen(s)!=len(t)......
  • 基于oneAPI的并行算法实践
    本文介绍了利用oneAPI,使用sycl编程实现并行算法,完成了矩阵乘法、归并排序、图像卷积三个任务的过程。矩阵乘法在此任务中,我们使用sycl编写并行计算的内核。为了提高局部计算效率,我们使用共享内存存储部分矩阵数据。std::vector<std::vector<float>>matrixMultiply(conststd:......
  • 详解十大经典排序算法(三):插入排序(Insertion Sort)
    算法原理每次从无序部分选择一个元素,将其插入到有序部分的正确位置,重复这个过程直至整个数组有序。算法描述插入排序是一种简单直观的排序算法,它的基本思想是将一个待排序的元素插入到已经排序好的序列中的适当位置,从而得到一个新的、长度加一的有序序列。插入排序的过程类似于整理......
  • 代码随想录算法训练营第4天 | lc24、lc19、lc面试题02.07、lc142
    (本合集全部为Go语言实现)相关文章链接:24题解19题解02.07题解142题解相关视频链接:Leetcode24状态:秒了实现过程中的难点:对组内两个节点的指针指向流转需要倒腾明白。临时头结点真的很有用个人写法funcswapPairs(head*ListNode)*ListNode{tmpHead:=&ListNode{-......
  • 算法之快速排序2基准元素的选择
    一:概述基准元素,英文是pivot,在分治的过程中,基准元素为中心,把其他的元素移动到它的左右两边。二:具体说明最简单的方式就是选择数列的第1个元素。这种选择在绝大多数情况下是没有问题的。但是,假如有一个原本逆序的数列,期望排列成顺序数列,那会出现什么情况呢?整个数列被分成了两部分,每一......
  • 栈和队列算法总结
    知识概览在数据结构中,栈和队列都属于线性表。栈是先进后出(FILO)的,队列是先进先出(FIFO)的。代码模板#include<iostream>usingnamespacestd;constintN=100010;//**********************栈intstk[N],tt;//插入stk[++tt]=x;//弹出tt--;//判断栈是否......