アルゴリズムとデータ構造におけるバランス感覚を磨こう
まだ読んでいる途中なのですが、「第三章 設計と実装」で印象に残った言葉を。
- 作者: ブライアンカーニハン,ロブパイク,Brian Kernighan,Rob Pike,福崎俊博
- 出版社/メーカー: アスキー
- 発売日: 2000/11
- メディア: 単行本
- 購入: 57人 クリック: 1,112回
- この商品を含むブログ (202件) を見る
このプログラムの設計と実装からは、もっと大きなプログラムにあてはまる教訓をいくつか引き出せる。その1つ目は、シンプルなアルゴリズムとデータ構造を選択することの重要性だ。想定される問題のサイズに見合った時間で作業が完了する、一番単純なアルゴリズムとデータ構造を選ぶこと。
プログラムの設計と実装の極意は、まさにこの一言に尽きると思う。大事なことは、必要十分なデータ構造を選択することで、これによりアルゴリズムはシンプルで、移植性や拡張性にも優れたプログラムになると感じている。
個人的には実行時間に加え、プログラムの規模にも注意を払うべきだと考える。実装が必要以上に面倒で複雑になるのなら、データ設計に何かしらの問題がある場合が多い。かと言って、あまりにも単純すぎる実装は、ちょっとした機能追加にも苦労し、構造が複雑化する危険をはらんでいる。
「想定される問題のサイズに見合った時間で作業が完了する」言葉では簡単だが、実際には明確な基準があるわけではなく、なかなかバランスさせることは難しい。プログラムが実行される環境によっても変化する。私もそうだが、日々精進すべし。