こんにちは!ScienceTechno 1年のーとです。
9月23日(火)に日本科学未来館にて、「基数ソート」の工作教室を行いました。「基数ソート」は、基数の性質を用いて数字の書かれたカードを並び替える工作です。
工作教室ではまず、「ソート」とは何かを学びました。ソートとは「あるもの」を「ある決まり」をもって並べることです。実際に自分自身で実際に数字の書かれたカードを使ってソートを体験しました!次に「アルゴリズム」についても学びました。アルゴリズムとは決まった手順の組み合わせのことです。今回はソートするためのアルゴリズムを二つ、バブルソートとマージソートを紹介し、実際にアルゴリズムを行ってみました!結果としては大体の子どもたちはバブルソートより、マージソートの方が試行回数が少ない結果となりました。
バブルソートは前から隣同士の数字を比べて並び替えていくという動作を行います。したがって、条件によってはかなりの試行回数となります。それに対してマージソートはカードの列を分割していき、二枚の組からカードの数字の大きさを比較していき、ほかの組とまた比較合体してだんだん一つに戻していくアルゴリズムです。
マージソートはソート作業を同時に複数回できており、バブルソートに比べ試行回数が少ないことが多くなります。(初期のカードの並び方によっては、バブルソートの方が試行回数が少なくなることもあります。)
バブルソートとマージソートについて学び、いよいよメインテーマの基数ソートを学びました!基数とは桁上がりや、桁下がりの基準になる数です。私たちがよく使っている、1,2,3,….,10,11…は基数が10となっています。
ここでは実際にPC上で基数10の状態で数字を並び替えているところを皆さんに見てもらいました。今までのソートに比べて格段に速く並び替えることができていて驚いている子も多く、身近にある数字に関して興味を持っていただけたと思います。
ここから実際に基数ソートをするために工作をしてきました!
まず、数字を書いたカードにその数になるような足し算を作ってもらいました。そして、足し算に使った数字の上部をハサミで切って棒を通した時にすり抜けるようにします。最後にカードを入れる箱を作って完成です! 実際に基数ソートをやってみるとやはり感動に近いものを感じているようでした。今回は小さい順に並び替えていきましたが、なかには工夫をして大きい順にしてみようとするなど、工作して終わるのではなく探求することも楽しんでいました。イベントに参加してくださった皆様、ありがとうございました!
ScienceTechnoは、今後も様々なイベントを実施する予定です。 皆様のご参加をお待ちしています!