【数据结构和算法】_09_广度 / 深度 优先搜索
文章目录 【一】 Breadth - First Search (广度优先搜索) 【二】 Depth - First Search (深度优先搜索) 【三】 Interview (面试题) 【3.1】 LeetCode 102:Binary Tree Level Order (二叉树的层次遍历) 【3.2】 LeetCode 104:Max depth (二叉树的最大深度) 【3.3】 LeetCode 111:Min depth (二叉树的最小深度) 【3.4】 LeetCode 22:Generate Parentheses (括号生成) 【一】 Breadth - First Search (广度优先搜索) 比较符合人类的思维的,常用的,搜索算法,必须掌握 示意图( 树 ) 代码 (不仅适用于树,也适用于图) # python 广度优先搜索 def BFS ( graph , start , end ) : # 队列,先进先出 queue = [ ] queue . append ( [ start ] ) # visited 里的数据表示被访问过了 (对二叉树来说没必要) visited . add ( start ) # 当队列不为空时 while queue : # 将队列头元素取出 node = queue . pop ( ) # 放进被访问过的列表里 visited