アルゴリズムとデータ構造 - クイックソート

概要

アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。

実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。

クイックソート

  • データ列の中から適当なデータ(ピボット)を選択し、ピボットより小さいデータを前方、大きいデータを後方に移動させる。
  • 分割されたデータをそれぞれソートする
  • 分割統治法の一種

計算時間

  • 最悪計算時間
    • O(n²)
  • 最良計算時間、平均計算時間
    • O(n log n)

実装

参考