ソート
ソートとは、「整列」ともいい、データを所定の順序に並べることをいう。
概要[編集]
文字列や数値について行われることが多い。
- バブルソート
- シェルソート
- セレクション・ソート
- マージソート
- シェル・メッツナー・ソート
- クイックソート
人間生活との関わり・利用[編集]
だいたいどっかのライブラリに入っているので、いまさら書く奴は「何かの精神修行か?」程度の扱いでしかない。
いまどきバブルソートを使う奴もいないので、自分で書いても面白くはない。
セレクション・ソートは速くはないが、「上位百」なんかを求めるには使えるし、乱数を使って逆回しするとシャッフルに使える。
なお、キーが同一なときに元のデータの順番が保たれているかどうかという点は気にしてもいい。学生の試験の成績でソートするとき、結果は学生番号順で表示されてほしい。学生名簿は学生番号順でソートされているのだから。
多次元ソート[編集]
たとえば、全国数万人規模の予備校があったとしよう[1]。そこで予備試験(達成度テスト。レディネス・テストともいう)を行なったとして、「それぞれの生徒は自分の達成度をどのように知るだろうか?」といえば、「配点の合計点数」から推定しなければならないわけである。こうなると「配点をどう配分するか?」という難題が運営側に降りかかってくる。
これを解消するために、それぞれの問題に対する答えが正解か不正解かだけ判定したとしよう。それぞれの課目の問題数はおそらく百問以下であり、科目数はおそらく十科目を越えない。そうすると合計は千問に満たず、たかだか千要素の配列にしかならない。
そうなると、各生徒が「どの問題に正解したか」は「正答」「不正答(誤答)」「無回答」に帰着されるわけで、それで度数分布表(ヒストグラム)を作るのは容易である。
そのうえで、この度数分布表を上から順に和分してゆけば、生徒は自分のテスト結果を見て、自分が数万人のうち何番目であり、答えるのを諦めた奴が何人いて、誤答した奴が何人いて正答した奴が何人いて、自分はどっちに入っていたかが解るわけで、そこから自分の強みと弱点を推測することができ、パソコンはそこを(統計学やら相関やら推計学によって)補助することができる。なんならテストだってパソコン越しにネット上でできるわけで、サーバー一台あればCAEシステムのできあがりである。
その他[編集]
脚注[編集]
- ↑ あるだろうな。