アルゴリズムとデータ構造 --- 理論編 --- 山本 真基

Slides:



Advertisements
Similar presentations
第2回 情報基礎演習Ⅰ  2007/04/23. 第2回 情報基礎演習Ⅰ  2007/04/23.
Advertisements

7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
ヒープソートの演習 第13回.
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
アルゴリズムとデータ構造 第8回 ソート(3).
第11回 整列 ~ シェルソート,クイックソート ~
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
On the Enumeration of Colored Trees
プログラミング基礎I(再) 山元進.
プロセッシング入門3 初歩のプログラミング.
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
文字配列の課題1 解説 /* a */ #include <stdio.h> main( ) { int i;
授業展開#11 コンピュータは 何ができるか、できないか.
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
第10回 ソート(1):単純なソートアルゴリズム
数の仲間わけ 情報科学科 4年 5512027 加藤 奈美.
データ構造と アルゴリズム 知能情報学部 新田直也.
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
システム開発実験No.7        解 説       “論理式の簡略化方法”.
ヒープソートの復習.
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
ネットワークプログラミング論 平成28年12月12日 森田 彦.
第11回 整列 ~ シェルソート,クイックソート ~
PowerPointとは? 百聞は一見しかず! プレゼンテーションソフトウェア 今、使っているこれがそうです!
組織サイト用バナー テンプレート(大) 組織サイト名 組織サイト名 サブタイトル 半透明部分
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
二分探索木によるサーチ.
データ構造とアルゴリズム論 第8章 再帰処理 平成15年12月2日 森田 彦.
チューリング機械 状態の有限集合 ヘッドの方向を表す。 L:1コマ左へ R:1コマ右へ テープ記号の有限集合 入力記号の有限集合 動作関数
Rの起動 Rをインストール後,ダブルクリック→起動すると,上のような画面がでます.
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
ソートアルゴリズムの種類 選択ソート (selection sort) バブルソート (bubble sort)
わんくま同盟茶藝部顧問 Microsoft MVP for VC episthmh
データ構造とアルゴリズム論 第7章 再帰処理 平成17年12月6日 森田 彦.
データ構造とアルゴリズム論 第6章 整列(ソート)のアルゴリズム
アルゴリズムとデータ構造 第3章 ヒープ 6月10日分
アルゴリズムとプログラミング (Algorithms and Programming)
復習その1+α JBuilderの使い方を思い出す。 配列とGUI
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
プログラミング 4 整列アルゴリズム.
2009/10/23 整列アルゴリズム (1) 第4講: 平成21年10月23日 (金) 4限 E252教室 コンピュータアルゴリズム.
情報とコンピュータ 静岡大学工学部 安藤和敏
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
チューリングマシン 0n1nを受理するチューリングマシン 入力テープ b b b b 状態遷移機械.
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
アルゴリズムとデータ構造 2012年7月2日
アルゴリズムとプログラミング (Algorithms and Programming)
バブルソート,バケツソート,クイックソート
アルゴリズムとデータ構造 2011年6月28日
ヒープソートの復習 第12回.
データ構造とアルゴリズム論 第7章 再帰処理 平成16年11月30日 森田 彦.
アルゴリズムとデータ構造 2013年7月2日
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
ソートのプログラムの流れ 配列の中身を小さい順に並び替える a[1],a[2],…a[n]の値を順に出力する
2008/7/16(情報コース)2008/7/22(通信コース) 住井
ヒープソート.
アルゴリズムとデータ構造 補足資料6-1 「サンプルプログラムcat1.c」
オートマトンって? (Turing machine).
アルゴリズムの視覚化 この図は左が大きく、 右が小さくなるようにソートしている  この図は左が大きく、  右が小さくなるようにソートしている
参考:大きい要素の処理.
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
3 ウイルスチェック ~方法1~ ウイルスチェックの方法 USBメモリの場合 ①USBをパソコンに差し込む。 ウイルスチェックをしよう
Ibaraki Univ. Dept of Electrical & Electronic Eng.
アルゴリズム ~すべてのプログラムの基礎~.
プログラミング論 バイナリーサーチ 1.
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
Presentation transcript:

アルゴリズムとデータ構造 --- 理論編 --- 山本 真基 バブルソート アルゴリズムとデータ構造 --- 理論編 --- 山本 真基

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9

バブルソート --- アルゴリズムの説明 --- 入力された数の列 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 目標 2 9 5 3 7

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 動作が分かりやすいようコピーしておく 2 9 5 3 7 5 7 2 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 下段に注目 5 7 2 9 5 3 5 7 2 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 1番目と2番目に着目 5 7 2 9 5 3 5 7 2 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいなら交換 5 7 2 9 5 3 5 7 2 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 そうでないので      交換しない 5 7 2 9 5 3 5 7 2 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 2番目と3番目に着目 5 7 2 9 5 3 5 7 2 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいなら交換 5 7 2 9 5 3 5 2 7 7 2 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 3番目と4番目に着目 5 7 2 9 5 3 5 2 7 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいなら交換 5 7 2 9 5 3 5 2 7 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 そうでないので      交換しない 5 7 2 9 5 3 5 2 7 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 4番目と5番目に着目 5 7 2 9 5 3 5 2 7 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいので交換 5 7 2 9 5 3 5 2 7 9 5 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいので交換 5 7 2 9 5 3 5 2 7 5 9 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 5番目と6番目に着目 5 7 2 9 5 3 5 2 7 5 9 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいので交換 5 7 2 9 5 3 5 2 7 5 9 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいので交換 5 7 2 9 5 3 5 2 7 5 9 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 6番目と7番目に着目 5 7 2 9 5 3 5 2 7 5 9 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいので交換 5 7 2 9 5 3 5 2 7 5 9 3

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいので交換 5 7 2 9 5 3 5 2 7 5 3 9

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 ここまでの動作で,    何か起きたのか? 5 7 2 9 5 3 最大の9が最右に移動 5 2 7 5 3 9

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 最大である数字9の 位置が確定 5 7 2 9 5 3 最大の9が最右に移動 5 2 7 5 3 9

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 下段を利用 5 7 2 9 5 3 7 5 3 9 2 7 5 3 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 第2ラウンド目 7 5 3 9 2 7 5 3 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 1番目と2番目に着目 7 5 3 9 2 7 5 3 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいので交換 7 5 3 9 2 7 5 3 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 左が大きいので交換 7 5 3 9 2 2 5 7 5 3 9

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 同様の操作を繰り返す 7 5 3 9 2 7 5 3 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 第2ラウンド終了 7 5 3 9 2 5 3 7 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 第2ラウンドで    何が起きたのか? 5 2 7 5 3 9 2番目に大きい7が右から2番目に移動 2 5 5 3 7 9

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 2番目に大きい数字7の位置が確定 5 2 7 5 3 9 2番目に大きい7が右から2番目に移動 2 5 5 3 7 9

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 以降,同様の操作を 繰り返す 5 2 7 5 3 9 5 3 7 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 第3ラウンド終了 3 5 7 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 第4ラウンド終了 3 5 7 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 第5ラウンド終了 3 5 7 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 第6ラウンド終了 3 5 7 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 第7ラウンド終了 3 5 7 9 2

バブルソート --- アルゴリズムの説明 --- 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 第7ラウンド終了 3 5 7 9 2 ソーティング完了!

2 3 5 5 7 9 バブルソート:考察 7 6 5 4 3 2 1 各ラウンドで一つの 入力: 5, 7, 2, 9, 5, 0, 3 入力: 5, 7, 2, 9, 5, 0, 3 出力: 0, 2, 3, 5, 5, 7, 9 各ラウンドで一つの   数字の位置が確定 2 3 5 5 7 9 7 6 5 4 3 2 1