第6回Scratch講座は、14名の参加のもと、11月28日(木)大みかクラブ内の大みか拠点で開催しました。この講座のテキスト本は「Scratchで学ぶプログラミングとアルゴリズムの基本」(日経BP社)を使用しています。この講座の講師は安田出世話人が担当します。今回はアルゴリズムの基本的なソート(並び替え)と、進んだソート(並び替え)の勉強です。
講座の内容梗概は下記のとおりです。
第7章 アルゴリズムその2 基本的なソート(並び替え)…前回の続き
- ◆「バブルソート」「選択ソート」「挿入ソート」のソート時間を計測して、アルゴリズムの評価を行うことができる。
◆具体的には、条件として要素は2000個、数値は1~10,000のランダム数値とし、要素を作っている間はリスト(
配列)は非表示にし、ターボモードにして、処理に時間がかかるのを防止する。そして、ソートにかかる時間を計
測するために①タイマーをリセットする②ソートする③ソートが終わったタイミングで変数「かかった時間」にタイ
マーの数値を入れる④変数「かかった時間」を画面に表示する。
◆最後に上記のアルゴリズムを理論的に評価するが、ここでは割愛する。
第8章 アルゴリズムその3 進んだソート(並び替え)
- ◆シェルソート(並び替え その4)は、数の並びを「一定の間隔」おきに複数の固まりの分けて、それぞれの固まり
の中で挿入ソートを実施し、これを間隔を詰めながら繰り返して、全体的に少しずつソートされた状態に近づけ
る方法である。
◆クイックソート(並び替え その5)は、基準となる値よりも大きい数同士、小さい数同士に分け、集めた固まりの中
で、同じことを繰り返す方法で、これまでの中で最も早いソートである。基準となる値の選び方はいろいろある。
◆シェルソートやクイックソートも、時間計測ファイルからソートのかかる時間を計測できる。バブルソート、選択ソ
ート、挿入ソートを含め、クイックソートが最もソート時間が短い。
◆ソートのアルゴリズムは、要素同士の「比較」と「交換」の階数が少ないほど、処理時間が短い。プログラムの実
行にかかる時間は与えられたデータによって変わる。最悪の場合、最良の場合、平均の場合がある。
◆シェルソートは挿入ソートを改良したアルゴリズムで、挿入ソートのように隣同士の要素ではなく、最初に大きな
間隔で比較交換するので、小さい要素は先頭へ、大きな要素は後に寄せられるので処理時間は短くなる。
◆クイックソートは軸要素と要素の大小を比較するだけなので、比較回数が少なく、ソート時間が速くなる。
講師・文責 世話人 安田 出
第6回 Scratch講座に参加の皆さん(後方の花は皇帝ダリア)