ソートアルゴリズムの比較

この記事では、2つのパフォーマンスガイドで使用する簡単なサンプルプログラムについて説明します。コールツリーのガイドとフレームチャートのガイドです。

このプログラムは、3つの異なるソートアルゴリズムのパフォーマンスを比較します。

  • バブルソート
  • 選択ソート
  • クイックソート

これは以下の機能で構成されています。

sortAll() トップレベルの関数。 (200回)反復的に配列を生成し、sort()を呼び出します。
sort() bubbleSort()selectionSort()quickSort()を順に選択し、結果を記録します。
bubbleSort() バブルソートを実装し、ソートされた配列を返します。
selectionSort() 選択ソートを実装し、ソートされた配列を返します。
quickSort() クイックソートを実装し、ソートされた配列を返します。
swap() bubbleSort()selectionSort()のヘルパー関数。
partition() quickSort()のヘルパー関数。

コールグラフは次のようになります。

sortAll()                     // (generate random array, then call sort) x 200

    -> sort()                 // sort with each algorithm, log the result

        -> bubbleSort()

            -> swap()

        -> selectionSort()

            -> swap()

        -> quickSort()

            -> partition()

プログラムのソートアルゴリズムの実装は、https://github.com/nzakas/computer-science-in-javascript/から取得され、MITライセンスで使用されます。

ここでサンプルプログラムを試してみて、ここでコードをクローンすることができます(gh-pagesブランチを確認してください)。 私たちが議論した特定のプロフィールをダウンロードすることもできます。あなたがフォローしたい場合は、パフォーマンスツールにインポートするだけです。 もちろん、独自のプロファイルを生成することもできますが、数字は少し異なります。

ドキュメントのタグと貢献者

このページの貢献者: silverskyvicto
最終更新者: silverskyvicto,