深度優先搜索(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');
登錄后復制