1

深度優先検索では、LIFO/Stackが使用されます。 幅優先検索は、FIFO /キューを使用します。 再帰アルゴリズムは何を使用しますか?両方の組み合わせ?再帰アルゴリズムで幅優先や深さ優先で検索しますか?

+1

再帰は、(呼び出し)スタックを使用します。 – meowgoesthedog

+0

https://stackoverflow.com/questions/33703019/breadth-first-traversal-of-a-tree-in-javascript/33704700#33704700 –

+0

あなたはそれを後ろに持っています:スタックはFIFO、キューはLIFOです。 –

答えて

1

再帰アルゴリズムは、常に深さ優先探索(DFS)


擬似コードを使用

入力:グラフGとGの頂点v

出力: vから到達可能なすべての頂点が、発見されたラベル付き

DFSの再帰的実装:

1 procedure DFS(G,v): 
2  label v as discovered 
3  for all edges from v to w in G.adjacentEdges(v) do 
4   if vertex w is not labeled as discovered then 
5    recursively call DFS(G,w) 

Wiki source here

+0

パーフェクト!大いに感謝する! – akihikokayaba