-2

BFS要因と深さ

分岐幅優先探索私は時間とメモリが、私はこのO(B^D) を使用しようとした計算方法を知りたいが、私に同じ値を与えるものではありませ

+0

特定の入力で特定のアルゴリズムを実行するのに必要な実際の時間は決して計算できません。アルゴリズムをベンチマークするには、それを実装して実行する必要があります。 – Paul

+0

これらは両方ともb^d(*ノードの数)に比例します。時間とメモリの隣接値がおよそ100倍(ノードの数と同じ)に違いがあります。 – qwertyman

答えて

1

最も重要な計算は2番目の列にあります:完全なツリー内のノードの数。その式は、"What is the total number of nodes in a full k-ary tree, in terms of the number of leaves?"の答えに示されています。 -/9

については

N =(1 10 D + 1):あなたのテーブルを約"分岐係数b = 100"を語るようちょうど、10でkを置き換えますルートノードが含まれているため、深さ2のツリーの数は110ではなく111になるため、表示する表の何らかの理由でルートノードがカウントされません。脚注(「10万ノード/秒」)に示すよう秒

時間は100,000で割ったノードの数(列2のすなわち値)として算出されます。それがあるので、脚注はさらに、メモリ消費が「1000バイト/ノード」であることを前提に言及など、

、数秒から数分の大きな数を変換するためにquite trivialある時間、日、年ノードの数(2番目の列の値)に1000を掛けてください。テーブルは実際にはJEDEC memory standards for storageを使用します。キロバイトは正確に1000バイトではなく1024バイトです。だからあなたは、その数でキロバイトの数を得るためにノードの数を分割し、次にメガバイトの数を得るために再び分割する必要があります。たとえば"How to convert byte size into human readable format in java?"を参照してください。

+0

これがあなたの質問に答えたかどうか教えてください。 – trincot