数学の話をひとつ。
これは「論証力を決める数学(東京出版)」という本で読んだ話なんですが。 現在ちょっとした机上プログラム(というほどでもない)を組むに当たって、重要になりつつある話なので。
テレビのプレゼントで、「正解」を書いて応募しなければならないものがあるとする。(当選者は5人とする。) このとき、番組側は次のどちらの方で当選者を選ぶだろうか。 1.応募ハガキの全てからまず正解しているものを抜き取り、その中から5人選ぶ。 2.適当にハガキを選び、その人が正解していれば当選とし、外れていれば落選、これを当選者5人になるまで繰り返す。
大学への数学なんぞをよんでいると、「逆手流」なる方法論が載っていて、あまり自分は理解できていないんですが(何度読んでも理解が難しい……)。
上の例において、1を自然流、2を逆手流と大学への数学では呼んでいました。 なるほど、これは重要な話だ。 処理する量が全然違うのだから。
ある条件を満たしているとき次のソースを読ませる、といったとき、 条件を満たしているかどうかを調べてからソースを読ませるのと、 そのソースに入ってから「ところで条件は満たしていたっけな?」と調べるのでは、読み込む量が異なるわけで、その分の処理スピードに差が出てきます。 これがつもるとやはり山になるわけで。
この辺はプログラマーの方が一番詳しい部分なのでしょうけど。
ところで、C言語は全くやっていません(をぃ)。 じゃあ何をやってるんだって感じですが。
|