タグ付けされた質問 「algorithm-analysis」

アルゴリズムの特性を決定する科学と芸術に関する質問。多くの場合、正確性、実行時間、スペースの使用法が含まれます。アルゴリズムのランタイムに関する質問には、[runtime-analysis]タグを使用します。

2
関係構成を計算する
定義:を自己ループのないDAGとし、およびをグラフとします。G=(V,E)G=(V,E)G=(V,E)X⊆GX⊆GX \subseteq GY⊆GY⊆GY \subseteq G 入力:。出力:リレーショナル構成リレーショナル構成 in。X,YX,YX,Y X∘YX∘YX \circ YO( | E| | V| )O(|E||V|)\mathcal{O}(|E||V|) ケース1:。およびに対する2つのforループ:ランタイム。|E|≤|V||E|≤|V||E| \le |V|E(X)E(X)E(X)E(Y)E(Y)E(Y)≤O(|E|2)≤O(|E||V|)≤O(|E|2)≤O(|E||V|) \le \mathcal{O}(|E|^2) \le \mathcal{O}(|E||V|) ケース2:|V|≤|E||V|≤|E||V| \le |E| グラフを描く:(。エッジをから黒、赤と呼びます。(V(G),E(X)∪E(Y))(V(G),E(X)∪E(Y))(V(G),E(X) \cup E(Y))(O(|V|)+O(|2E|)))(O(|V|)+O(|2E|)))(O(|V|)+\mathcal{O}(|2E|)))E(X)E(X)E(X)E(Y)E(Y)E(Y) トポロジカルにソートします(Kahn:)。最初のレベルをにすると、エッジはレベルから高いレベルに移動します。O(|V|)+O(|E|)O(|V|)+O(|E|)\mathcal{O}(|V|) + \mathcal{O}(|E|)000 このグラフを2回描画します。 最初のコピーで、偶数レベルで始まるすべての赤いエッジと奇数レベルで始まるすべての黒いエッジを削除します:。O(E)O(E)\mathcal{O}(E) 2番目のコピーでは、「黒の偶数」と「赤の奇数」をすべて削除します:。O(E)O(E)\mathcal{O}(E) 最初のコピーの場合: レベルすべてのノードuuu2i2i2i レベルすべてのノードvvv2i+12i+12i+1 レポートエッジ(実行時)。(u,v)(u,v)(u,v)O(V2)≤O(EV)O(V2)≤O(EV)\mathcal{O}(V^2) \le \mathcal{O}(EV) 2番目のコピーの場合: " " についても同じです。2i+12i+12i+1 報告されたノードを結合し、重複する を破棄します(グラフ表現でこれが可能であることを願っています)。O(V2)&lt;=O(EV)O(V2)&lt;=O(EV)\mathcal{O}(V^2) <= \mathcal{O}(EV) いくつかの人が私のアルゴリズムを調べて、 合ってます …


4
この関数の時間の複雑さはどれくらいですか?
これは私の講義ノートの例です。この関数は時間の複雑さを伴いますかO (n ログn )O(nlog⁡n)O(n \log n)?。最悪のケースは機能がelse分岐に入るので、時間の複雑性が2つの入れ子になったループログんlog⁡n\log n そして んnn、そうです O (n ログn )O(nlog⁡n)O(n \log n)。私は正しいですか? int j = 3; int k = j * n / 345; if(k &gt; 100){ System.out.println("k: " + k); }else{ for(int i=1; i&lt;n; i*=2){ for(int j=0; j&lt;i; j++){ k++; } } }

2
行列乗算プログラムの入れ子ループの不変式
Hoareロジックを使用して2つの行列を乗算するためのプログラムの正確性を証明することについて、卒業論文を作成しています。これを行うには、このプログラムの入れ子ループの不変式を生成する必要があります。 for i = 1:n for j = 1:n for k = 1:n C(i,j) = A(i,k)*B(k,j) + C(i,j); end end end 私は最初に内部ループの不変式を見つけようとしましたが、今までは本当のものを見つけることができません。上記のプログラムの不変式を見つけるのを手伝ってくれる人はいますか?
7 algorithms  loop-invariants  correctness-proof  formal-languages  regular-languages  pumping-lemma  logic  logic  programming-languages  lambda-calculus  term-rewriting  operational-semantics  complexity-theory  time-complexity  computability  proof-techniques  reductions  digital-preservation  distributed-systems  storage  algorithms  dynamic-programming  check-my-algorithm  reference-request  cryptography  quantum-computing  formal-languages  regular-languages  context-free  formal-grammars  algorithms  graphs  network-flow  algorithms  data-structures  randomized-algorithms  lists  computability  proof-techniques  undecidability  terminology  distributed-systems  parallel-computing  artificial-intelligence  heuristics  search-problem  algorithms  computational-geometry  algorithm-analysis  asymptotics  recurrence-relation  mathematical-analysis  master-theorem  algorithms  algorithm-analysis  runtime-analysis  computability  reductions  turing-machines  formal-languages  context-free 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.