[解決済み] リンクリストのソートで最も高速なアルゴリズムは?
2022-11-08 01:40:56
質問
O(n log n)はリンクリストができる最高の値なのか気になります。
どのように解決するのですか?
でO(N log N)を超えることはできないと考えるのが妥当でしょう。 実行時間 .
しかし、面白いのは、ソートできるかどうかを調査することです インプレース , 安定的に とか、最悪の場合の挙動など。
Puttyで有名なSimon Tathamが、以下の方法を説明します。 マージソートでリンクリストをソートする . 彼は次のようなコメントで締めくくっています。
任意の自尊心あるソートアルゴリズムと同様に、これは実行時間O(N log N)を持ちます。これはマージソートであるため、最悪の場合の実行時間はまだ O(N log N) であり、病的なケースは存在しません。
補助的なストレージの要件は小さく、一定です (すなわち、ソートルーチン内のいくつかの変数)。配列とは本質的に異なるリンクリストの動作のおかげで、このマージソートの実装は、通常アルゴリズムに関連するO(N)の補助記憶コストを回避することができます。
また、単一および二重リンクリストの両方で動作するCでの実装例もあります。
Jørgen Fogh が以下で言及しているように、big-O 表記は、メモリの局所性、項目数が少ないなどの理由で、あるアルゴリズムがより良く動作する原因となるいくつかの定数要因を隠してしまうことがあります。
関連
-
[解決済み】3値の中央値戦略
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] O(log n)とは具体的にどのような意味ですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] ゲーム「2048」の最適なアルゴリズムとは?
-
[解決済み] List<T>をオブジェクトのプロパティでソートする方法
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Dijkstraのアルゴリズムが負の重みのエッジに対して機能しないのはなぜですか?
-
[解決済み】なぜO(n)はO( nlog(n) )よりも優れているのでしょうか?)
-
[解決済み] どのようにすれば、ほとんどすべてのアルゴリズムを修正して、最良の場合の実行時間を持つようにできるか?
-
[解決済み] Bogosort (a.k.a Monkey Sort)よりも悪いソートアルゴリズムはあるのか?[クローズド]
-
[解決済み] アルゴリズムの教科書では、ソートされた配列について「増加」ではなく「非減少」を使っているのはなぜですか?
-
[解決済み] 複雑さ O(log(n)) は O(sqrt(n)) と同等か?
-
[解決済み] 任意の2頂点間の全接続を求めるグラフアルゴリズム
-
[解決済み] あるアルゴリズムの計算量がO(log n)になる原因は何でしょうか?
-
[解決済み] luceneはどのように文書をインデックスするのですか?
-
[解決済み] 与えられた範囲にあるすべての数値のXORを求めよ