算法:二叉树的层次遍历(递归实现)

本文介绍了如何使用递归方式实现二叉树的层次遍历。通过递归函数FindTree,根据树的深度逐层遍历并打印节点数据。文章详细解释了递归过程,包括对左右子节点的检查,以及如何根据节点深度决定是否继续遍历。

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

二叉树知识参考:深入学习二叉树(一) 二叉树基础

递归实现层次遍历算法参考:【面经】用递归方法对二叉树进行层次遍历 && 二叉树深度

 

上面第一遍基础写得不错,不了解二叉树的值得一看。然后,主要说说用递归来实现二叉树的层次遍历。

先上代码:

 

 1 local function FindTree(tree, level)
 2     if(tree == nil or level <= 0) then 
 3         return false;
 4     end
 5     if (level == 1) then 
 6         print(tree.data);
 7         return true;
 8     end
 9 
10     local has_left = FindTree(tree.left, level - 1);
11     local has_right = FindTree(tree.right, level - 1);
12 
13     return has_left or has_right;
14 end
15 
16 local level = 1;
17 while FindTree
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值