タグ

クイックソートに関するtaka_m55のブックマーク (2)

  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回はソートについて記します。 0. はじめに データ構造とアルゴリズムを学ぶと一番最初に「線形探索」や「ソート」が出て来ます。これらのテーマは応用情報技術者試験などでも頻出のテーマであり、アルゴリズムの Hello World とも呼ぶべきものです。 特にソートは、 計算量の改善 ($O(n^2)$ から $O(n\log{n})$ へ) 分割統治法 ヒープ、バケットなどのデータ構造 乱択アルゴリズムの思想 といった様々なアルゴリズム技法を学ぶことができるため、大学の授業でも、アルゴリズム関連の入門書籍でも、何種類ものソートアルゴリズムが詳細に解説される傾向にあります。記事でも、様々なソートアルゴリズムを一通り解説してみました。 しかしながら様々な種類のソートを勉強するのもよいが、「ソートの使い方」や

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
  • [アルゴリズム] クイックソートの実装(Python編)

    Pythonコードにだいぶ慣れてきました。 Pythonistaの人たちが、「Pythonが使いやすいのはコードがシンプルになるから」とよく言っているのを聞くのだが、インクリメントがなかったり、for文が特殊だったりして、個人的には少し足りていない言語の印象がある。 悪く言うつもりはないが、クセのある言語には違いなさそうだ。 ソース #coding: UTF-8 def mid(x,y,z): if x < y: if y < z: return y elif z < x: return x else: return z else: if z < y: return y elif x < z: return x else: return z def quickSort(numbers , begin , end): if end >= 0 and begin >= 0 and end -

    [アルゴリズム] クイックソートの実装(Python編)
  • 1