私はDjisktraアルゴリズムの複雑さを理解し、誰かが私を訂正できることを願っています。Dijkstraのアルゴリズム - 複雑さ
私の例では、n個の頂点を持つ完全なグラフを取りました。
開始頂点を選択し、a1とし、それをマークして、エッジのすべてのn-1ウェイトを計算します。 O(n)
あなたは最小のものを選びます。頂点a2とし、マークを付けましょう。 O(n)
その後、エッジでn-2個の新しい重みを計算し、次にマークされていない頂点を探して、マークされた頂点のセットを追加します。
など...
アルゴリズムは、すべての頂点をマークするまで実行されます。 O(n * ln(n))ではなく、O(n^2)にある複雑さ:n-1 + n-2 + ... + n - (n-1)= Binom欲しいです。
多くの人が最適化のためにヒープを使用していますが、私はまだBinom(n、2)計算を避ける方法は見当たりません。
私はある時点で間違っている必要がありますが、どこに見えません。
nとは何ですか、なぜ各頂点でn回何かする必要がありますか? –