ソートアルゴリズムの種類 選択ソート (selection sort) バブルソート (bubble sort)

Slides:



Advertisements
Similar presentations
逐次ソート 2011/05/16. ソート(sort) 順序集合の要素a 1 … a n の上下関係を整 える 一般的には、整数の集合 N を考えればよ い ソートの計算量が問題となる どのような入力に対し、どのようなアル ゴリズムが最適か?
Advertisements

4.3 マージソート.
4.ソート問題とアルゴリズム 4-1.ソート問題について 4-2.簡単なソートアルゴリズム 4-3.高度なソートアルゴリズム
離散システム特論 整列(sorting)アルゴリズム 2.
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
ヒープソートの演習 第13回.
アルゴリズムイントロダクション第2章 主にソートに関して
4.ソート 4-1.ソート問題について 4-2.簡単なソートアルゴリズム 4-3.高度なソートアルゴリズム
アルゴリズムとデータ構造 2012年6月27日
第12回 ソート(3): シェルソート、クイックソート
アルゴリズムとデータ構造1 2008年7月22日
高速ソートと 安定結婚問題 平成24年12月14日.
アルゴリズムとデータ構造 第8回 ソート(3).
第10回 整列 ~ バブルソート,挿入ソート,選択ソート~
第11回 整列 ~ シェルソート,クイックソート ~
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
アルゴリズムとデータ構造1 2005年7月8日
第11回 整列 ~ バケットソート,基数ソート,ヒープソート~
2009/10/30 整列アルゴリズム (2) 第5講: 平成21年10月30日 (金) 4限 E252教室 コンピュータアルゴリズム.
算法数理工学 第1回 定兼 邦彦.
4-3:高度なソートアルゴリズム① (分割統治法にもとづくソート)
第9回 並び替えアルゴリズム ~さまざまなアルゴリズムを比較しよう~.
4.整列のアルゴリズム.
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
第10回 ソート(1):単純なソートアルゴリズム
情報工学概論 (アルゴリズムとデータ構造)
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング システムプログラミング プロセス間通信(パイプ) 担当:青木義満
データ構造とアルゴリズム 分割統治 ~ マージソート~.
ヒープソートの復習.
第11回 整列 ~ シェルソート,クイックソート ~
算法数理工学 第1回 定兼 邦彦.
2009/11/6 整列アルゴリズムの復習 第6講: 平成21年11月6日 (金) 4限 E252教室 コンピュータアルゴリズム.
アルゴリズムとデータ構造1 2005年7月26日
アルゴリズムとデータ構造1 2006年6月16日
アルゴリズムとデータ構造1 2005年7月15日
2011/06/21-24 情報知能学科「アルゴリズムとデータ構造」 担当:白井英俊
情報工学概論 (アルゴリズムとデータ構造)
講義では、Cプログラミングの基本を学び 演習では、やや実践的なプログラミングを通して学ぶ
わんくま同盟茶藝部顧問 Microsoft MVP for VC episthmh
データ構造とアルゴリズム論 第6章 整列(ソート)のアルゴリズム
アルゴリズムとデータ構造1 2005年7月1日
クイックソート.
大岩 元 慶応大学環境情報学部 再帰 データ構造とプログラミング(8) 大岩 元 慶応大学環境情報学部
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
アルゴリズムとプログラミング (Algorithms and Programming)
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
復習その1+α JBuilderの使い方を思い出す。 配列とGUI
復習+α JBuilderの使い方を思い出す。 配列とGUI 再帰とマージソート 木と二分木の探索
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
プログラミング 4 整列アルゴリズム.
2009/10/23 整列アルゴリズム (1) 第4講: 平成21年10月23日 (金) 4限 E252教室 コンピュータアルゴリズム.
情報とコンピュータ 静岡大学工学部 安藤和敏
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
アルゴリズムとデータ構造1 2006年7月11日
アルゴリズムとデータ構造 2011年6月23日
プログラミング演習Ⅲ- Sorting Quick Sort and Merge Sort
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
ハフマン符号長の効率的な求め方.
アルゴリズムとプログラミング (Algorithms and Programming)
基本情報技術概論(第5回) 埼玉大学 理工学研究科 堀山 貴史
バブルソート,バケツソート,クイックソート
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
ヒープソートの復習 第12回.
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
ソートのプログラムの流れ 配列の中身を小さい順に並び替える a[1],a[2],…a[n]の値を順に出力する
アルゴリズムとデータ構造 2012年6月25日
アルゴリズムの視覚化 この図は左が大きく、 右が小さくなるようにソートしている  この図は左が大きく、  右が小さくなるようにソートしている
参考:大きい要素の処理.
プログラミング論 バイナリーサーチ 1.
Presentation transcript:

ソートアルゴリズムの種類 選択ソート (selection sort) バブルソート (bubble sort) 挿入ソート (insertion sort) クイックソート (quick sort) マージソート (merge sort) 前回の授業で説明  今回の授業で説明 

クイックソート ― 基本的なアイディア 63 39 28 73 45 11 31 94 数字 を大きい数と 小さい数の      2グループに分割 45 11 28 39 31 小さい数のグループ 94 63 73 大きい数のグループ 左のグループの要素≦右のグループの要素 各々を再帰的にソート 45 39 31 28 11 94 73 63

クイックソート ― 分割方法(その1) 8つの数字の中からひとつ選ぶ                     (ピボット) 63 39 28 73 45 11 31 94 となるように分割 左のグループの要素≦ピボット≦右のグループの要素 一番左の値をピボットとする 45 39 31 28 11 94 73 63

クイックソート ― 分割方法(その2) 左のグループの要素≦ピボット≦右のグループの要素 と分割したい 63 (1)左側からピボット以上の値を探す (2)右側からピボット以下の値を探す 63 39 28 73 45 11 31 94 94 63 11 45 73 28 39 31 (3)2つの数字を交換

クイックソート ― 分割方法(その3) (1)左側からピボット以上の値を探す (2)右側からピボット以下の            値を探す  31 39 28 73 45 11 63 94 (3)数字を交換 94 63 73 45 11 28 39 31 (1)ピボット以上の値を探す (2)ピボット以下の値を探す 31 39 28 11 45 73 63 94 (4)●が●の左にきたら終了。 分割。 45 11 28 39 31 94 63 73

クイックソート ― 全体の流れ 63 39 28 73 45 11 31 94 45 11 28 39 31 94 63 73 63 94 73 28 11 45 31 39 94 73 11 28 45 39 31 94 73 63 45 39 31 28 11 45 39 31 28 11 94 73 45 39 45 39

マージソート ― 基本的なアイディア 63 39 28 73 45 11 31 94 配列を2分割 73 28 39 63 94 31 11 45 各々を再帰的にソート 73 63 39 28 94 45 31 11 2つの配列をマージ 45 63 73 39 94 31 28 11 ソート完了

73 63 39 28 94 45 31 11 11 マージソート ― マージのやり方(その1) ソートされている2つの配列をマージ マージソート ― マージのやり方(その1) ソートされている2つの配列をマージ 各配列の先頭の数字を比較=>小さいほうが最小値   =>作業用の配列の先頭へ 73 63 39 28 94 45 31 11 11 作業用の配列Bを用意

マージソート ― マージのやり方(その2) 73 63 39 28 94 45 31 28 各配列の先頭の数字を比較    =>小さい方を作業用の配列へ 11 73 63 39 94 45 31 28 11 31

マージソート ― マージのやり方(その3) 次々に作業用の配列に挿入 73 63 39 94 45 39 63 73 45 94 31 28 11 マージ完了!

マージソート ― 全体の流れ 分割 分割 分割 マージ マージ マージ 94 31 11 45 73 28 39 63 63 39 28 マージソート ― 全体の流れ 分割 94 31 11 45 73 28 39 63 63 39 28 73 45 11 31 94 73 28 39 63 94 31 11 45 分割 63 39 28 94 31 11 45 73 分割 73 28 63 39 94 31 45 11 マージ 73 63 39 28 94 45 31 11 マージ 94 73 63 45 39 31 28 11 マージ