代码随想录算法训练营第15天 | 树的层序遍历及其应用

层序遍历是一种使用队列进行二叉树或N叉树的遍历方法,按照从左到右、从上到下的顺序。相对于递归的深度优先遍历,层序遍历更适合广度优先搜索。在Python中,由于children是列表,为了将所有子节点添加到队列,通常使用extend而不是append,因为append适用于添加单个元素,而extend用于扩展列表,将子节点逐一加入队列,实现层序遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

层序遍历

  • 今日是层序遍历比较简单,大家只需要记住队列一层一层基本没什么问题, 尽量不要用递归来写, 层序用队列可以比较好的模拟出一层一层的效果!
  • N叉树的层序遍历,python代码为什么不能用Append要用extend?
    children 是list, append 适用添加单个元素。添加list里每个元素用extend.你也可以直接用循环把children 里元素一个个append进去。

层序遍历。

层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。这种遍历的方式和我们之前讲过的都不太一样。需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。

而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。

这份代码也可以作为二叉树层序遍历的模板,打十个就靠它了

 

code:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值