タグ

ブックマーク / ja.wikipedia.org (2)

  • バブルソート - Wikipedia

    バブルソート(英: bubble sort)は、隣り合う要素の大小を比較しながら整列させるソートアルゴリズム。 アルゴリズムが単純で実装も容易である一方、最悪時間計算量は O(n2) と遅いため、一般にはマージソートやヒープソートなど、より最悪時間計算量の小さな(従って高速な)方法が利用される。 また、安定な内部ソートであり、並列計算との親和性が高いという利点もある。 基交換法、隣接交換法[1]あるいは単に交換法とも呼ばれる。「バブルソート」という呼称自体はケネス・アイバーソンの1962年の著書 “A Programming Language” に由来すると考えられる[2]。 アルゴリズム[編集] バブルソートにおける要素の移動例を示した図 全ての要素に関して、隣接する要素と比較し順序が逆であれば入れ替える。これを要素数-1回繰り返すことでソートを行う。なおこの繰り返しは、入れ替えが起こ

    バブルソート - Wikipedia
    koizuss
    koizuss 2008/03/14
    バブルソート
  • ヒープソート - Wikipedia

    ヒープソート (heap sort) とはリストの並べ替えを二分ヒープ木を用いて行うソートのアルゴリズムである[2](ヒープ領域とは無関係であることに注意する)。 アルゴリズムは、以下のように2つの段階から構成される。 未整列のリストから要素を取り出し、順にヒープに追加する。すべての要素を追加するまで繰り返し。 ルート(最大値または最小値)を取り出し、整列済みリストに追加する。すべての要素を取り出すまで繰り返し。 計算量は O となる[2]。安定ソートではない[2]。 アルゴリズム[編集] ヒープ構造は、ポインタ等の制御用データが不要で、データ自体の並び順(配列)だけで表現できるという利点がある。ヒープソートを実装する際にはこの利点を生かし、元のデータ領域をそのままヒープ構造や整列済みリストに転用するインプレースなソートとして実装することが多い。 最初にN個のデータを含む配列が与えられるも

    ヒープソート - Wikipedia
  • 1