はてなの金次郎

Pythonエンジニアの奮闘記。Python, Django, Gitlab, Docker, AWS, k8s...

「アルゴリズムを、はじめよう」から学んだこと。

概要

要約

アルゴリズムの学習目的を示した上で、プログラミング初心者が理解しておくべき基本アルゴリズム(線形探索法、二分探索法、ハッシュ探索法、選択ソート、バブルソート、挿入ソート、クイックソート、エラトステネスのふるい、ユークリッドの互除法)を、フローチャートや擬似言語、図を用いて解説します。

面白かった章とその理由

1章

コーディングをする際に設計(アルゴリズムの選定)を意識して行うべきだという気づきを得られました。今まではコーディングをする際に設計を行う習慣がなく、プログラミング作成段階で抜けこぼしがあったり、ミスがあった時に修正で時間が取られることがありました。要件に最適な設計ができることで、効率良く品質の良いコーディングができることを教わりました。

また、最適な設計をするためにアルゴリズムを学習しなければならないと感じられました。アルゴリズムの必要性を1章で理解できたことで、その後の章を意欲的に学習したいと思えました。

仕事に活かせそうな知識、活かせそうな状況と活かし方

  • プログラム作成の流れ(企画 → 設計 → プログラミング → デバッグ → ドキュメント作成)を意識する。
  • わかりやすく、高速で(実行してから結果を得られるまでの時間が短く)、効率的で(使用するメモリ領域ができるだけ少なく)、再利用しやすい設計・コーディングをする。
  • 紹介されていたが解説はなかったアルゴリズムマージソートヒープソートシェルソートガウスの消去法、台形公式、ダイクストラ法、二分法、ニュートン法、力まかせの検索法、KMP法、BM法)を調べ、業務に応用できそうなものは使ってみる。

ブクログ始めました

フォローお待ちしてます。
https://booklog.jp/users/jumpyoshi