アルゴリズムのちょいメモ 
2008/8/4 月曜日 17:56:30
またまた登場。かーつんです。
今回はちょっとしたメモをば。
基本中の基本なので、学生さんは覚えておくと良いかも。
例えば、
a==bとなる確率1/6
b==cとなる確率1/3
c==dとなる確率1/2
のような条件がある場合、
if(a==b && b==c && C==d){
処理;
}
と書くのと、
if(a==b){
if(b==c){
if(c==d){
処理;
}
}
}
と書くのは同じです。
このとき、後者の書き方をしていると、
確率の小さいものから比較した方が良いというのが直ぐわかりますが、
前者のような書き方をしていると、
ついつい確率を無視して例えば
if(b==c && a==b && c==d){
処理;
}
なんて風に書きがちです。
やってること同じじゃん。なんて思わないでください。
このif分が100回とか10000回繰り返す処理だと、
if分で比較される回数が比較にならないほど違ってきます。
些細な書き方の違いですが、
2個目の比較、3個目の比較をするかしないか、比較する必要があるかないか、
大量データを処理するとき等は気をつけて、
自分の書いている処理を見直してみてください。
以上、か-∇-つんがお送りしました。