time-complexity

    5

    1答えて

    この問題を遭遇しました。無向グラフでは、ノードとエッジの重みがすべてです。すべての重みは負ではありません。値Sが与えられた場合、ノード重みの総和が少なくともSとなるように、エッジ重みの最小合計で接続サブグラフを見つける。 最も明白な解決策は、すべての可能なサブグラフを考慮したブルートフォースアプローチである。しかし時間の複雑さは指数関数的です。これにはより良いアルゴリズムはありますか?私の直感は、

    8

    4答えて

    私は多くの場所で気付きました。バブルソートの複雑さはO(n )です。 しかし、内側のループは常にn-i回実行する必要があります。 for (int i = 0; i < toSort.length -1; i++) { for (int j = 0; j < toSort.length - 1 - i; j++) { if(toSort[j] > toSort[j+1

    6

    2答えて

    長さがnの文字列sがある場合、O(n)内の別の部分文字列の数をsに数えることは可能ですか? 例 入力:abb 出力:5('abb', 'ab', 'bb', 'a', 'b') は、私はいくつかの研究を行っているが、私はそのようにこの問題を解決するアルゴリズムを見つけることができないよう効率的な方法。私はO(n^2)アプローチが可能であることを知っていますが、より効率的なアルゴリズムがありますか?

    12

    4答えて

    アルゴリズムの複雑さがn^cで、ループのネストされたものの数だけを描くことができます。 for (var i = 0; i < dataset.len; i++ { for (var j = 0; j < dataset.len; j++) { //do stuff with i and j } } ログインが半分のたびに設定されているデータを分割何かで、バイ

    0

    1答えて

    ヒープソート(Cormen)を書きました。アルゴリズムは正しくソートされていますが、複雑さは予想よりも大きくなっています。ランドによって生成された15000000の番号について void heap_sort(int tab[], int length) { build_max_heap(tab, length); int heap_size = length; fo

    -1

    1答えて

    優先度ツリーは、vがuの子であるときは常にpriority(u) ≥ priority(v)です。その は、必ずしも完全なツリーではないヒープです。 (a)H1とH2をツリーとして表される2つのヒープとする。 H1とH2のすべての要素を含む優先度の高い木を生成する効率的な方法を記述してください。 操作にはO(log(|H1| + |H2|))の時間がかかります。|H|はヒープHの要素数を意味します

    1

    1答えて

    私は今、私は、この他のアルゴリズム持って怒鳴るアルゴリズムを解決し、時間の複雑さは O(nlgnの*ログ(base3)n)を for (a=1;a<=n;a++) for (b=1;b<=n/2;b++) for (c=1;c<=n;c*=3) print("A") であることが判明しました: for (a=1;a<=n;a++) for (

    3

    1答えて

    私はこのアルゴリズムのシータの複雑さを見出そうとしています。 (aは整数のリストである)一方 def sttr(a): for i in xrange(0,len(a)): while s!=[] and a[i]>=a[s[-1]]: s.pop() s.append(i) return s 、私はappendがn(配列の長さ)が実行

    1

    1答えて

    単一のノードツリーがあり、mが集合演算を見つけると(注:以前は共用体がなかったと仮定して)、パス圧縮のみを使用します。 (m)時間?私はこれを証明しようとしてきましたが、そうでないようです。組合はランクで組合を使用しなかったので、発見セットはO(n)時間までかかることがある。しかし、m個のセットがO(m)時間に実行されることはまだ可能ですか?

    1

    1答えて

    次のコードセクションの漸近実行時間を求めます。答えは、OとThetaの条件でなければなりません。 私はシータ(N ^(1.5))、考えた、しかし、これについてイムはわかりません。 あなたはどう思いますか?