ベンチマーク: 14 のソートアルゴリズムと PHP 配列

ベンチマーク: 14 のソートアルゴリズムと PHP 配列

この記事では、PHP で記述されたソートアルゴリズムのテストについて紹介します。
ソートアルゴリズムは 14 種類あります。

  • クイックソート
  • カウントソート
  • コームソーティング
  • ヒープソート
  • マージソート
  • シェルソート
  • 選択ソート
  • 挿入ソート
  • ゴブリンソーティング
  • 複合バブルソート
  • カクテルの仕分け
  • バブルソート
  • 奇数偶数ソート
  • フラグを使用したバブルソート

アルゴリズムは、アルファベット順に並べ替えるのではなく、8,000 個の要素を並べ替える際の全体的な速度の降順で並べ替えられます。

使用される配列のサイズは次のとおりです。

  • 1
  • 100
  • 200
  • 400
  • 600
  • 800
  • 1000
  • 5000
  • 10000
  • 15000
  • 20000
  • 25000
  • 30000

各測定値は異なるサイズの配列を使用し、それがソート関数に渡されます。

  • 最初のケースでは、配列は (1, N) の間の値でランダムに埋められます。ここで、N はグループのサイズです。
  • 2 番目のケースでは、配列は (1, PHP_INT_MAX) の間の値でランダムに埋められます。ここで、PHP_INT_MAX は現在のシステムにおける INT 型の最大値で、私のシステムでは 2^63 または約 9.2233720368548E+18 です。

各テストは3回実行され、算術平均が算出されました。

1000 要素の配列

すべてのアルゴリズムは現在の配列サイズに基づいてソートされます。

30000要素の配列

この時点で、カウンティング ソート、クイック ソート、コーム ソート、ヒープ ソート、マージ ソートの 5 つの最速アルゴリズムがテストされます。

200,000 要素の配列

この時点で、カウンティング ソート、クイック ソート、コーム ソート、ヒープ ソート、マージ ソートの 5 つの最速アルゴリズムがテストされます。

2,000,000 要素の配列

2,000,000 要素を使用した最後のテストでは、カウント ソートとクイック ソートの 2 つのアルゴリズムのみがテストされました。

要約する

クイックソートは、その評判に値する優れたアルゴリズムです。カウントソートは、値の範囲が小さい場合には適切に機能しますが、その他のケースではメモリ不足のため対処が困難です。カクテルソートはランダムな値には適していません。バブルソートとそのバリエーションは実際のアプリケーションには適していません。

すべてのアルゴリズムのソースコード + 結果: https://drive.google.com/file/d/0B63HSL7JD630VWdSSFgwdHR5RkU/edit?usp=sharing

組み込みのソート関数を使用するのは興味深い練習です。解釈された PHP でソート関数を記述することは、sort() で使用される C バリアントよりも高速になることは決してありません。

オリジナルリンク: ahwoobachairiesaas翻訳: Bole Online - hoikin-yiu

翻訳リンク: http://blog.jobbole.com/68774/

<<:  世界を支配するトップ 10 のアルゴリズムをご存知ですか?

>>:  物理学者は神の粒子を研究するためのアルゴリズムを開発するためにプログラマーを招待する

推薦する

...

推奨に値する 7 つの優れたオープンソース AI ライブラリ

[[406029]] [51CTO.com クイック翻訳]人工知能 (AI) 研究の分野では、Ten...

...

人工知能を理解し、適応する方法

私たちは毎年数百人の学生にデータサイエンスを教えていますが、彼らは皆 AI に魅了され、素晴らしい質...

人工知能はそれほど信頼できるものではない。システムは「知らないことを知らない」し、アルゴリズムは安全ではない。

[[419993]]文/陳潔人工知能技術は、画像分析から自然言語理解、科学分野に至るまで、現在の科...

ポストパンデミックの時代に、伝統的なオフィスビルは時代遅れになるのでしょうか?

新型コロナウイルスの世界的大流行が続く中、従業員にリモートワークを奨励する企業が増えています。従来の...

Java プログラミング スキル - データ構造とアルゴリズム「バイナリ ソート ツリー」

[[390181]]基本的な紹介バイナリ ソート (検索) ツリー: バイナリ ソート ツリー内の...

中国科学技術大学が提案したCNNとTransformerのデュアルネットワークモデルの精度は84.1%にも達する

[[416636]] Transformer と CNN はどちらも独自の利点を持ち、視覚表現を処理...

生成AIの構築には、大きなモデルだけでは不十分

生成型人工知能 (GenAI) の急速な台頭により、企業はビジネス アプリケーションでこのテクノロジ...

知識をグラフに変換するには、いくつのステップが必要ですか?インターネット上で最も包括的な清華ナレッジグラフレポートの89ページ

ナレッジグラフは、人工知能の重要な分野技術です。2012年にGoogleによって提案され、大規模な知...

ベイジアンアルゴリズムは「アプリチケット詐欺」を打破する良い方法となるだろう

最近、世間を騒がせた360 Appランキング操作事件とその背後にある闇産業チェーンの出現により、Ap...

NeurIPS 2023 入学結果が発表され、合格率は 26.1% でした

NeurIPS は世界で最も権威のある AI 学術会議の 1 つです。正式名称は Neural I...

より多用途で効果的なAntの自社開発オプティマイザーWSAMがKDDオーラルに採用されました

ディープ ニューラル ネットワーク (DNN) の一般化能力は、極値点の平坦性と密接に関係しています...

...

DALL·Eの超進化により、写真の品質と芸術性が大幅に向上し、写真をシームレスに修正することもできるようになりました。

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...