0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

データを整列させるアルゴリズム

Last updated at Posted at 2022-08-27

データを整列させるアルゴリズムを紹介する。

基本交換法(バブルソート)

隣接するデータの大小を比較する。
必要に応じて入れ替えることで全体を整列させる。
先頭の2つから整列させていく。

基本選択(選択ソート)

対象データの内、最小、最大のデータを取り出して、先頭データと交換して
全体を整列させる。

基本挿入法(挿入ソート)

対象のデータ列を整列済みのものと未整列のものとに分かれます。
未整列のデータ列から一つずつ取り出して、整列済みのデータ列に適切な場所に当てはめていく。
それで全体を整列させる。

より高速な整列アルゴリズム

ここからは応用的な整列アルゴリズムを紹介する。

シェルソート

ある一定間隔おきに取り出した要素でソートを繰り返していく手法
出典 https://medium-company.com/%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%BD%E3%83%BC%E3%83%88/#1

気づき

グループ分けして、挿入ソートの繰り返しみたいなことか。

クイックソート

ある中間的な基準値を決めてそれより小さい値と大きい値のグループに振り分ける
そのグループでまた基準値を決めてグループに振り分けるを繰り返す。

気づき

2分木探索法と似ているな。

ヒープソート

未整列のデータを「ヒープ」の性質を持つ木構造の構成にして、そこから最大値または最小値を取り出して整列、これを繰り返すことで全体を整列させる手法

ヒープとは?

出典 https://medium-company.com/%E3%83%92%E3%83%BC%E3%83%97%E3%82%BD%E3%83%BC%E3%83%88/#1

気づき

ヒープの性質を利用して根を取り出して最小、最大から取り出すのか。

マージソート

整列対象のデータを2分割していく操作を繰り返し、要素数が1になるまで細分化、そして細分化した要素同士を整列しながら戻していく手法です。
出典 https://medium-company.com/%E3%83%9E%E3%83%BC%E3%82%B8%E3%82%BD%E3%83%BC%E3%83%88/

出典

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?