文系エンジニアに捧ぐアルゴリズムやデータ構造(データストラクチャー)の勉強におすすめの本やサイト

脱文系プログラマ

どうも、Yuki Hiraiです。

WEB開発の実務だけではなかなか身につかないのが

アルゴリズムやデータ構造です

特に文系からWEB系エンジニアになった人なんかは意識していかないと身につきません。

プログラマーとして高いパフォーマンスを発揮するためにも

まずは基礎力

を身につけておきたいものです。

アルゴリズムやデータ構造を勉強しておくと

人気企業や外資系企業の採用でも有利に働きやすくなります

今日はおすすめのアルゴリズムやデータ構造(データストラクチャー)について学べる本やWEBサイトを簡単に紹介します。

初心者向けの心得とアルゴリズム学習本

アルゴリズムの学習は文系エンジニアにとってみると

最初は少ししんどいかもしれませんw

とりあえず動けばいいじゃん!でコードを書いてきた人には

特につらいかもしれません

ただ、ひとつずつ時間をかけてでも理解できるようになってくると

こんなに効率的に並び替えや検索ができるようになるんだ!というのがわかるようになって

楽しくなってきます。

大事なのは折れずに時間をかけてでもひとつずつ理解しようという気持ちかなと思います←

もし、プログラミング初心者なら最初は出来るだけ簡単に学べる本を選ぶと良いかとおもいます。

自分が一番最初に手に取った本はこちらです。

アルゴリズムを、はじめよう

この本はわかりやすくアルゴリズムやデータ構造について書かれているので

初心者にはおすすめです

ただ、図解があるとはいえなかなかアルゴリズムがイメージできないときがあります。

そんなときにおすすめなのが

=> VISUALGO.NET

というサイトです。

こちらは動的にアルゴリズムのソートや検索などを視覚的に再現してくれるサイトです。

説明や図解を読んでもイメージがうまくいかない場合はこのサイトで

対象のアルゴリズムの動きを視覚的に学んでみるとよいです。

そしてそのアルゴリズムの素晴らしさに惚れ込むことになるでしょう←

あとはそのアルゴリズムの名前でYouTubeで検索してみるのもよいです

自分はこちらのチャンネルの動画がアルゴリズムの理解に役立ちました

=> GeeksforGeeks

例えばヒープソートがうまく理解できないときにこの動画をみて

あーなるほどなーとなってましたw

中級者以上向けの学習本

中級者以上ならほとんどググれば解決しそうですが

体系的に学んでみたいという方には以下の本がおすすめです

アルゴリズムクイックリファレンス 第2版

ただこちらは読むのに体力がいる一冊になりますw

あとは、実際にアルゴリズムやデータ構造が採用面接で

どういう問題で出題されるのか

どういう問題で使用するのか

などの具体的なケースと一緒に学ぶのには以下の本がおすすめです

世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~

この本はコーディング試験の対策として有名ですが

O記法やアルゴリズム、データ構造についての説明もあるので

それぞれを学びながら進めていくことができます。

ただ、いかんせんページ数が多いのでこちらも読破には体力がいりますw
計画的にすすめましょう。

ひたすら勉強あるのみ

ただ、プログラマーとしてお金を稼ぎたいというのであれば

WEBサイトの作り方を覚えて自分でWEBサービスをつくったりとか

仕事を受注して開発すれば良いと思います。

ただ、プログラマーとしてより高度な課題にチャレンジできるようになりたいなら

このあたりの基礎力をちゃんと身につけておくのが大事だなと感じています。

文系からプログラマーになったのであれば

他のエンジニアよりも勉強することは山ほどあります。

ひたすらレベルアップあるのみですね