これらのメモによると、DFSは空間の複雑さを持っていると見なされます。ここで、はツリーの分岐係数であり、は状態空間内のパスの最大長です。b m
同じことが、Uninformed SearchのこのWikibookページでも述べられています。
現在、DFSに関するWikipediaの記事の「情報ボックス」は、アルゴリズムのスペースの複雑さについて次のことを示しています。
O ()、繰り返しなしでグラフ全体をトラバースする場合、重複ノードを排除せずに、暗黙的グラフの検索された最長経路長
これは、DFSのスペースの複雑さ、つまりであると私が考えたものにより似ています。ここで、はアルゴリズムが到達する最大長です。m
なぜこれが事実だと思いますか?
まあ、基本的には、現在見ているパスのノード以外のノードを保存する必要はないので、Wikibookと私が紹介したメモの両方が提供する分析でを掛けても意味がありません。に。
さらに、Richard KorfによるIDA *に関するこの論文によると、DFSのスペースの複雑さはであり、は「深度カットオフ」と見なされます。d
では、DFSの正しいスペースの複雑さは何ですか?
それは実装に依存すると思うので、異なる既知の実装のスペースの複雑さの説明をいただければ幸いです。
example where a depth-first traversal on a graph would not result in a tree
あまり考えずに:解析。(待機:どういう意味result in a tree
ですか??質問はグラフの検索/トラバースについてです。)
DFS is considered to […] of the tree
最初に深さをたどるすべてのグラフがツリーであるとは限りません。