深度優先搜索(dfs)是一種算法,用于遞歸地遍歷樹或圖數據,先向下遍歷當前節點的所有子節點,然后返回到父節點并繼續遍歷。使用 php 遞歸函數實現 dfs 的步驟如下:標記節點已訪問。打印節點。遍歷子節點。
使用 PHP 遞歸函數實現深度優先搜索(DFS)
深度優先搜索(DFS)是一種用于遍歷樹或圖數據的算法。它以當前節點開始,遞歸地向下遍歷其所有可訪問的子節點,然后再返回到其父節點并繼續遍歷。
使用 PHP 遞歸函數實現 DFS 如下:
function dfs($graph, $node) {
// 標記節點已訪問
$graph[$node]['visited'] = true;
// 打印節點
echo $node . "\n";
// 遍歷子節點
foreach ($graph[$node]['children'] as $child) {
if (!$graph[$child]['visited']) {
dfs($graph, $child);
}
}
}
// 實戰案例
$graph = [
'A' => ['children' => ['B', 'C']],
'B' => ['children' => ['D', 'E']],
'C' => ['children' => ['F', 'G']],
'D' => ['children' => []],
'E' => ['children' => []],
'F' => ['children' => []],
'G' => ['children' => []],
];
dfs($graph, 'A');
登錄后復制






