時間計算量-O(n ^ 2)からO(n log n)の検索

7kemZmani

順序付けられていないnアイテムのリストがあり、そのリストで最も頻繁なアイテムを見つけようとしています。私は次のコードを書きました:

def findFrequant(L):
     count = int()
     half = len(L)//2
     for i in L:
          for j in L:
               if i == j:
                    count += 1
                    if count > half:
                         msg = "The majority vote is {0}".format(i)
                         return msg
               else:
                    continue
          count = 0
     return "mixed list!"

明らかに、2つのループを使用したこの手順はO(n^2)であり、同じタスクをO(n log n)時間内に実行しようとしています。私は修正やコードを書くための誰かを探しているのではなく、単に道順を探しています。

ジョシュア

ここでは言語がわからないので、擬似コードとして扱っています。

これは、Lの同じタイプの要素のキーとintの値タイプのハッシュテーブルに依存します。ハッシュテーブル内の各レコードをカウントし、通常のmaxlistアルゴリズムを適用して、キーと値のペアの通常のコレクションとしてハッシュテーブルを繰り返します。

O(n)は線形よりわずかに悪いです。優れたハッシュの費用は線形ではなく、線形として概算される可能性があることを覚えています。使用される線形空間。

def findFrequant(L):
     hash = [,]
     vc = 0
     vv = null
     for i in L
         if hash.contains(i)
             hash[i] = hash[i] + 1
         else
             hash[i] = 1
     for (k,v) in hash
         if v > vc
             vv = k
             vc = v
         else if v == vc
             vv = null
     if (vv == null)
         return "mixed list!"
     else
         return "The majority vote is {0}".format(v)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

O(n log n)とO(n)-時間計算量の実際的な違い

分類Dev

O(log(N))時間計算量演算を使用したHashMap

分類Dev

O(n / log n)、O(n ^ 2 / log n)などの時間計算量は実際にはめったに見られませんか?

分類Dev

Pythonのアルゴリズムの時間計算量O(n log n)

分類Dev

時間計算量に関する質問O(1)、O(n)、O(log n)、O(n log n)

分類Dev

時間計算量はO(n)です

分類Dev

時間計算量がO(n!)とO(2 ^ n)の場合は?

分類Dev

T(n)=n⋅log(n)+ T(n-1)の時間計算量はどれくらいですか?

分類Dev

T(n)= 2T(n / 2)+ O(1)の時間計算量

分類Dev

O(n ^ 2)の時間計算量を減らす方法はありますか?

分類Dev

O(2m + n)とO(kn)の時間計算量

分類Dev

時間計算量がO(log n)である計算m ^ nの反復バージョンを作成するにはどうすればよいですか?

分類Dev

二重ネストループ関数におけるO(log n)の時間計算量

分類Dev

O(n)とO(nlogn)の時間計算量

分類Dev

NetworkX g.neighbors(n)時間計算量

分類Dev

時間計算量:O(logN)またはO(N)?

分類Dev

O(max(m、n))の時間計算量を理解する

分類Dev

実行時分析:これらのループにO(log n)時間計算量がある理由に関する私の例を修正してください

分類Dev

私のコードのより悪い時間計算量はlog(n)ですか?

分類Dev

時間計算量2つのO(n ^ 2)アルゴリズムは同じ時間かかりますか?

分類Dev

文字列逆演算の最良の時間計算量:それはO(n)またはO(n / 2)ですか?

分類Dev

この関数の時間計算量はO(N)またはO(N ^ 2)ですか?

分類Dev

f1(n)/ f2(n)の時間計算量

分類Dev

m <= nの場合、時間計算量O(nm)はO(n ^ 2)に等しいですか

分類Dev

Javascript-アナグラムを見つけるためのより良いソリューション-時間計算量O(n log n)

分類Dev

このコードの時間計算量はO(N ^ 2)です

分類Dev

なぜ私のPythonコードの時間計算量O(N ** 2)

分類Dev

nビット配列乗算の時間計算量

分類Dev

次の関数O(n³)の時間計算量はどうですか?

Related 関連記事

  1. 1

    O(n log n)とO(n)-時間計算量の実際的な違い

  2. 2

    O(log(N))時間計算量演算を使用したHashMap

  3. 3

    O(n / log n)、O(n ^ 2 / log n)などの時間計算量は実際にはめったに見られませんか?

  4. 4

    Pythonのアルゴリズムの時間計算量O(n log n)

  5. 5

    時間計算量に関する質問O(1)、O(n)、O(log n)、O(n log n)

  6. 6

    時間計算量はO(n)です

  7. 7

    時間計算量がO(n!)とO(2 ^ n)の場合は?

  8. 8

    T(n)=n⋅log(n)+ T(n-1)の時間計算量はどれくらいですか?

  9. 9

    T(n)= 2T(n / 2)+ O(1)の時間計算量

  10. 10

    O(n ^ 2)の時間計算量を減らす方法はありますか?

  11. 11

    O(2m + n)とO(kn)の時間計算量

  12. 12

    時間計算量がO(log n)である計算m ^ nの反復バージョンを作成するにはどうすればよいですか?

  13. 13

    二重ネストループ関数におけるO(log n)の時間計算量

  14. 14

    O(n)とO(nlogn)の時間計算量

  15. 15

    NetworkX g.neighbors(n)時間計算量

  16. 16

    時間計算量:O(logN)またはO(N)?

  17. 17

    O(max(m、n))の時間計算量を理解する

  18. 18

    実行時分析:これらのループにO(log n)時間計算量がある理由に関する私の例を修正してください

  19. 19

    私のコードのより悪い時間計算量はlog(n)ですか?

  20. 20

    時間計算量2つのO(n ^ 2)アルゴリズムは同じ時間かかりますか?

  21. 21

    文字列逆演算の最良の時間計算量:それはO(n)またはO(n / 2)ですか?

  22. 22

    この関数の時間計算量はO(N)またはO(N ^ 2)ですか?

  23. 23

    f1(n)/ f2(n)の時間計算量

  24. 24

    m <= nの場合、時間計算量O(nm)はO(n ^ 2)に等しいですか

  25. 25

    Javascript-アナグラムを見つけるためのより良いソリューション-時間計算量O(n log n)

  26. 26

    このコードの時間計算量はO(N ^ 2)です

  27. 27

    なぜ私のPythonコードの時間計算量O(N ** 2)

  28. 28

    nビット配列乗算の時間計算量

  29. 29

    次の関数O(n³)の時間計算量はどうですか?

ホットタグ

アーカイブ