算法-广度优先搜索(BFS)
1. BFS和DFS图解
2. 算法定义:
通常BFS会和Queue(先进先出)一同使用。步骤如下:
- 将根节点加入到Queue中;
- 使用while循环,当Queue为空时,结束循环。
- 从Queue中poll出队尾节点,访问此节点。如果该节点有子节点,将子节点依次加入Queue中
- 重复2、3直到循环结束
3.代码示例
import queue class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param root TreeNode类 # @return int整型二维数组 # class Solution: def levelOrder(self, root: TreeNode) -> List[List[int]]: q = queue.Queue() q.put(root) while q: temp_node = q.get() print(temp_node.val) if temp_node.left: q.put(temp_node.left) if temp_node.right: q.put(temp_node.right)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2021-05-18 python 方法参数的默认值不要用可变数据类型
2021-05-18 superset工具