DFS(Depth-First Search)
一、DFS 的核心概念
二、節點結構設計(以樹為例)
class TreeNode:
def __init__(self, value):
self.value = value
self.children = [] # 支援多叉樹三、DFS 搜尋實作(傳回路徑)
def dfs(node, goal_value, path=None):
if path is None:
path = []
path.append(node)
print(f"Visiting node: {node.value}")
if node.value == goal_value:
return path
for child in node.children:
result = dfs(child, goal_value, path[:])
if result:
return result
return None四、完整範例:樹上的 DFS
五、DFS 特性與適用情境
特性
說明
Last updated