SlideShare a Scribd company logo
1 of 20
バブルソートとクイックソートの
アルゴリズムについて
アルゴリズムとは
ソートとは
バブルソート
クイックソート
バブルソートとクイックソートの使い分け
目次
アルゴリズムとは
アルゴリズムとは,数学,コンピューティング,あるい
は関連する分野において,問題を解くための手順
を定式化したものを言う.
(Wikipediaより)
ex)
数学の連立方程式を解くために使われる
「代入法や消去法」
ソートとは
数を小さい数から大きい数へ,アルファベットをAからZ
へ,日付を古い日から新しい日へ,といったように本来の
順序や自然な順序に並べ替えることを昇順ソート,その
逆を降順ソートという.(IT用語辞典より)
バブルソート
 隣り合うふたつの数値を比べ条件(<,>=)に
応じて順番を入れ替える整列アルゴリズムのこと
http://judge.u-aizu.ac.jp/onlinejudge/commentary.jsp?id=ALDS1_2_A
これだとわかりにくいので,
入れ替えごとに表示すると
クイックソート
クイックソートとは,その名の通りほかのソート
と比べ速くソートができる方法である.
クイックソートのアルゴリズム
1. 基準値を選ぶ
2. 基準値以上の数を見つけるまで左→右に進む
3. 基準値未満の数を見つけるまで右→左に進む
4. 2と3で得た数を入れ替える
5. 入れ替えた次の数から2~4を繰り返す
6. 2と3が交差した所でデータを2つに、分割
7. 分割したデータで1~6を繰り返す
https://moneyforward.com/engineers_blog/2016/02/02/sort-algorithm/
http://dixq.net/sort.html
クイックソートのコード(C言語)
sizeofとは?
データの持つメモリのサイズを調べる演算子
今回では, int x[10]なので(intは4バイト)
・sizeof(x)はxの配列全体の大きさを表わし,
・sizeof(x[0])はx[0]の大きさを表わしている.
sizeof(x)=4*10=40であり,sizeof(x[0])=4より
sizeof(x)/sizeof(x[0])=10となる
再帰呼び出しについて
再帰呼び出しとは関数内でその関数自信を呼び
出すことを言う.(ex)階乗計算
•再帰呼び出しは複雑なアルゴリズムを少ないソース
コードで表現できる.しかし,関数を何回も呼ぶので
速度が遅くなり多くのメモリを使うのが欠点である.
再帰呼び出しを使う条件
再帰を止める条件がないといけない.
バブルソートとクイックソート
の使い分け(1/2)
バブルソートは低速であるが非常に安定
している,かつアルゴリズムが単純なので
少量の数をソートするのにむいている.
(安定しているとは{10,5,3,7,5}という数値
があり 初めの5を5A,次の5を5Bとした場合
{3,5A,5B,7,10}と必ずなる事を言います)
バブルソートとクイックソート
の使い分け(2/2)
クイックソートはデータの比較と交換の回数が非常に
少ないことが利点であるが並び替えた後に,端っこに
くる値を基準値に選んでしまうとあまり高速ではなくなっ
てしまいます.
参考URL
バブルソート|アルゴリズムとデータ構造|Aizu Online Judge
http://judge.u-aizu.ac.jp/onlinejudge/commentary.jsp?id=ALDS1_2_A
(アクセス日 : 2017/11/19)
ソートアルゴリズムについてまとめてみた|Money Forward
https://moneyforward.com/engineers_blog/2016/02/02/sort-algorithm/
(アクセス日 : 2017/11/17)
クイックソートと再帰関数 - C 言語何でも質問サイト
http://dixq.net/sort.html (アクセス日 : 2017/11/18)

More Related Content

What's hot

代数幾何のPanacea
代数幾何のPanacea代数幾何のPanacea
代数幾何のPanacea
HanpenRobot
 
相関係数と決定係数~回帰係数とその不偏性も
相関係数と決定係数~回帰係数とその不偏性も相関係数と決定係数~回帰係数とその不偏性も
相関係数と決定係数~回帰係数とその不偏性も
T T
 

What's hot (9)

アルゴリズムとデータ構造6
アルゴリズムとデータ構造6アルゴリズムとデータ構造6
アルゴリズムとデータ構造6
 
VBAで数値計算 07 ベクトル
VBAで数値計算 07 ベクトルVBAで数値計算 07 ベクトル
VBAで数値計算 07 ベクトル
 
アルゴリズムとデータ構造1
アルゴリズムとデータ構造1アルゴリズムとデータ構造1
アルゴリズムとデータ構造1
 
代数幾何のPanacea
代数幾何のPanacea代数幾何のPanacea
代数幾何のPanacea
 
パターン認識と機械学習 §8.3.4 有向グラフとの関係
パターン認識と機械学習 §8.3.4 有向グラフとの関係パターン認識と機械学習 §8.3.4 有向グラフとの関係
パターン認識と機械学習 §8.3.4 有向グラフとの関係
 
数学を数学で数学した人々
数学を数学で数学した人々数学を数学で数学した人々
数学を数学で数学した人々
 
相関係数と決定係数~回帰係数とその不偏性も
相関係数と決定係数~回帰係数とその不偏性も相関係数と決定係数~回帰係数とその不偏性も
相関係数と決定係数~回帰係数とその不偏性も
 
Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定
Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定
Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定
 
統計的学習の基礎 3章後半
統計的学習の基礎 3章後半統計的学習の基礎 3章後半
統計的学習の基礎 3章後半
 

More from Atelier Frameworks

More from Atelier Frameworks (20)

Arduino led
Arduino ledArduino led
Arduino led
 
unity 花火
unity 花火unity 花火
unity 花火
 
unity オブジェクトを動かす
unity オブジェクトを動かすunity オブジェクトを動かす
unity オブジェクトを動かす
 
unity 軌跡
unity 軌跡unity 軌跡
unity 軌跡
 
unity Particle systemで翼を表現する
unity Particle systemで翼を表現するunity Particle systemで翼を表現する
unity Particle systemで翼を表現する
 
unity SHOOTING GAME (prefab・当たり判定)
unity SHOOTING GAME (prefab・当たり判定)unity SHOOTING GAME (prefab・当たり判定)
unity SHOOTING GAME (prefab・当たり判定)
 
unity sprite animation 葉っぱが舞う (ハルフル)
unity sprite animation 葉っぱが舞う (ハルフル)unity sprite animation 葉っぱが舞う (ハルフル)
unity sprite animation 葉っぱが舞う (ハルフル)
 
unity sprite animation・prefab (ハルフル)
unity sprite animation・prefab (ハルフル)unity sprite animation・prefab (ハルフル)
unity sprite animation・prefab (ハルフル)
 
unityでNuitrackを使う 
unityでNuitrackを使う unityでNuitrackを使う 
unityでNuitrackを使う 
 
unity sprite animation (ハルフル)
unity sprite animation (ハルフル)unity sprite animation (ハルフル)
unity sprite animation (ハルフル)
 
unity 画像の移動 (ハルフル)
unity  画像の移動 (ハルフル)unity  画像の移動 (ハルフル)
unity 画像の移動 (ハルフル)
 
カラフルゴーストバスターズ「kinectでのモーション検出」
カラフルゴーストバスターズ「kinectでのモーション検出」カラフルゴーストバスターズ「kinectでのモーション検出」
カラフルゴーストバスターズ「kinectでのモーション検出」
 
カラフルゴーストバスターズ「得点の計算」
カラフルゴーストバスターズ「得点の計算」カラフルゴーストバスターズ「得点の計算」
カラフルゴーストバスターズ「得点の計算」
 
カラフルゴーストバスターズの演出「ゴースト」
カラフルゴーストバスターズの演出「ゴースト」カラフルゴーストバスターズの演出「ゴースト」
カラフルゴーストバスターズの演出「ゴースト」
 
カラフルゴーストバスターズの演出「バルーン」
カラフルゴーストバスターズの演出「バルーン」カラフルゴーストバスターズの演出「バルーン」
カラフルゴーストバスターズの演出「バルーン」
 
海さんぽ演出「波」
海さんぽ演出「波」海さんぽ演出「波」
海さんぽ演出「波」
 
海さんぽ演出「サメ」
海さんぽ演出「サメ」海さんぽ演出「サメ」
海さんぽ演出「サメ」
 
海さんぽ演出「サカナが寄ってくる」
海さんぽ演出「サカナが寄ってくる」海さんぽ演出「サカナが寄ってくる」
海さんぽ演出「サカナが寄ってくる」
 
海さんぽ演出「光道と動画再生」
海さんぽ演出「光道と動画再生」海さんぽ演出「光道と動画再生」
海さんぽ演出「光道と動画再生」
 
海さんぽ演出「メッセージボトル」
海さんぽ演出「メッセージボトル」海さんぽ演出「メッセージボトル」
海さんぽ演出「メッセージボトル」
 

ソート