連載 :
アルゴリズムで頭の体操直感的にわかるソートの方法は?
2008年5月9日(金)
トランプを並び替えるときは?
皆さんがあるものを番号順などで並び替えるとき、これまで説明してきたような方法を使うでしょうか?
例えば、トランプを並べ替えることを想像してみてください。
人間は一度に多くの数字を見ることができるので、コンピュータのような難しい(?)技巧ではなくて、もっと手早く入れ替えをするでしょう。
では、実際はどうやっているのでしょう?
筆者なら、こんなふうにします。
ずるいけど直感的な方法
(1)トランプの集まりの中から一番小さいものを取り出す。
(2)それを別のところに順に並べる。
(3)(1)(2)を(1)のトランプがなくなるまで繰り返す。
ちょっとずるい作戦ですね。「一番小さい」ものがわかるくらいなら苦労しません。けれど「ものをソートする」という作業に比べれば少しばかり簡単そうです。そもそも、先のバブルソートよりはよほど直感的だと思いませんか?
プログラムを設計するときのコツはいろいろとあると思いますが、私は「自然に考える」ことだと思います。
次回は、これをプログラムにしてみますが、それまでどのようにプログラムするか皆さん自身で考えてみてください。
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。