本記事ではプログラミング初心者に向けておすすめのアルゴリズム学習サイトを紹介していきます。
アルゴリズムの学習をはじめたきっかけ
新卒エンジニアの筆者は同期や先輩エンジニアと比べてもアルゴリズムやコンピューターサイエンスの知識が圧倒的に不足していました。上司にもその点は指摘されていたので、研修期間中は各アルゴリズムの概要と性質を学んでいました。難解な参考書でポンコツ筆者は挫折しそうだったので、色々調べて初心者でも入門できそうなアルゴリズム教材を選ぶことにしました。
なぜアルゴリズム?
普段のWEB開発ではアルゴリズムを意識することなく、機能実装できます。しかし、大きなデータを扱う際にアルゴリズムを考慮したコードが書けるかによって、プログラムの計算量やパフォーマンスが大きく異なります。ワンランク上のエンジニアを目指すためにはアルゴリズムの学習は必須であると考えています。
おすすめのアルゴリズム学習教材
アルゴリズム図鑑
アルゴリズム図鑑はアニメーションで優しく解説されているので、視覚的にアルゴリズムを学ぶことができます。ソート、クラスタリング、リスト探索、グラフ探索、データ構造、セキュリティなど様々な分野のアルゴリズムを学ぶことができるので、各アルゴリズムの概要や性質を学ぶことができます。僅か300円程度課金すれば、全ての分野を閲覧できます。実際にコードを書いたり、O記法を用いた計算量まで解説はされていませんが、アルゴリズムを入門される方はこの教材からはじめていくのが良いかもしれません。
一週間で身につくアルゴリズムとデータ構造
こちらはWEBサイトの教材になります。入門、基本、応用の三つのカテゴリに分かれていて、それぞれ7日間で学べるボリュームの教材になっています。アルゴリズムの基本から丁寧に解説されているので、アルゴリズム図鑑と平行して読み進めて行くのがおすすめです。
現役シリコンバレーエンジニアが教えるアルゴリズム・データ構造・コーディングテスト入門
こちらはUdemyの教材です。この教材ではPythonを用いてコードを書きながらアルゴリズムとデータ構造の基礎を学ぶことができます。教材の後半ではコーディング面接対策をカバーしています。コーディング対策をして難易度の高いWEB系企業に入社したい!という方やアルゴリズムの概要を学んだので次はコーディングしてみたい!という方におすすめです。アルゴリズム完全初心者の方はアルゴリズム図鑑などで軽く学習してから受講すると良いです。
なっとく!アルゴリズム
こちらは書籍になります。こちらも初心者向けの内容になっており、イラストを多用し、アルゴリズムに対してアレルギー反応を起こしてしまう方でも安心して入門できます。この本のイメージとしてリーダブルコードのように優しい日本語で丁寧に解説されているので、ストレスを感じずに読み進めることができます。
本書は、イラストを多用し、デファクトと言われるアルゴリズムが
なぜデファクトなのか。けれども場合によってはデファクトたりえないのは
なぜなのか。その差を分ける基準は何なのかを平易に解説してくれます。
アルゴリズムと聞くとアレルギー反応をおこす方でも、安心して
その奥深い世界の扉から漏れてくる、豊かさの一端に触れることが出来るはずです。
まとめ
本日、紹介したアルゴリズムの教材は以下の四つです。
- アルゴリズム図鑑
- 一週間で身につくアルゴリズムとデータ構造
- 現役シリコンバレーエンジニアが教えるアルゴリズム・データ構造・コーディングテスト入門
- なっとく!アルゴリズム
プログラミング学習者からするとアルゴリズム学習の敷居は高く感じます。しかしながら、本日紹介した教材を活用していけばアルゴリズムの種類とそれぞれの性質、コーディング方法を初心者目線で学ぶことができますので、ご参考にしていただければ幸いです。