と思っている人が結構いることには驚く。初心者ならまだしも、中堅プログラマにもいる。
ループして探すというのは、簡単に言えば、こんな感じである。
// ID が 123 の人の名前を探す
for(i=0; i<n; i++){
if(data[i].id == 123){
// 発見
you = data.name;
break;
}
}
とするわけだ(ひどい場合は break もしない人がいる)。
しかし、ループによる検索では、データ数が増えたり、他のループの中で入れ子になったりすると、非常に遅くなる。こんなところで文章化するのが恥ずかしいくらいあたりまえの話である。
と思っていたのだが、実際には大量データでもこれをやってしまうプログラマは結構いる。
最近のプログラミング言語では、基本的な検索アルゴリズム(例えばハッシュテーブルや二分探索など)は、標準的なライブラリに用意されていることが多い。にも関わらず、使わないのはなぜか?
単に、そういったアルゴリズムの存在自体を知らないのだろうか? だとしたら、大至急勉強してもらいたいのである。
C言語による最新アルゴリズム事典
posted with amazlet on 06.03.25
奥村 晴彦
技術評論社 (1991/03)
売り上げランキング: 10,972
技術評論社 (1991/03)
売り上げランキング: 10,972
おすすめ度の平均: 

アルゴリズム辞典の決定版
必読でしょう珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造
posted with amazlet on 06.03.25
ジョン ベントリー Jon Bentley 小林 健一郎
ピアソンエデュケーション (2000/10)
売り上げランキング: 2,545
ピアソンエデュケーション (2000/10)
売り上げランキング: 2,545
おすすめ度の平均: 

納得!アルゴリズムは重要
プログラマなら読むべき本
アルゴリズムって何?




ツール紹介の本






アイモフの小説を全く無視した映画
