第15講 データの並び換え
第1話 データを大小の順に並び換える
4,7,6,3,5
というデータを大小の順に並び換えるにはどうしたらよいでしょうか。
方法は、2つ考えられます。
(実際にはもっとあるかも知れませんので、
皆さんもより高速にデータを並び換える方法を考えてみて下さい。)
昇順(小さい順)でも降順(大きい順)でも基本的な考え方は同じですから、
昇順に並び換えるという前提で考えましょう。
1つ目の方法は、最小値を排除していく方法です。
4,7,6,3,5
の中の最小値を探します。
3です。3と
4,7,6,3,5
先頭の4を交換し、
3,7,6,4,5
3をグループから排除します。
3,7,6,4,5
グループ7,6,4,5の最小値を探します。
4ですので、グループ先頭の7と交換し、
3,7,6,4,5
3,4,6,7,5
4をグループから排除します。
3,4,6,7,5
さらに、グループ6,7,5の最小値を考えます。
5です。5とグループ先頭の6と交換し、
3,4,6,7,5
3,4,5,7,6
5をグループから排除します。
3,4,5,7,6
グループ7,6の最小値を考えます。
6をグループ先頭の7と交換します。
3,4,5,6,7
これで、並び換えに成功しています。
この人つめの方法を『最小値(最大値)排除繰り返し法』と名付けます。
2つ目の方法は、『隣項交換繰り返し法』と私が名付けている方法です。
これについては、第6話で説明する予定です。
『最小値(最大値)排除繰り返し法』と『隣項交換繰り返し法』ではどちらが高速に、
並び換えを実現できるのか、もこの講のテーマになります。
では、最小値または最大値を見つけるにはどうしたらよいでしょうか。
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ
小学生からエンジニアまでのRuby入門へ
本サイトトップへ