どうも、Yuki Hiraiです。
WEB開発の実務だけではなかなか身につかないのが
アルゴリズムやデータ構造です
特に文系からWEB系エンジニアになった人なんかは意識していかないと身につきません。
プログラマーとして高いパフォーマンスを発揮するためにも
まずは基礎力
を身につけておきたいものです。
アルゴリズムやデータ構造を勉強しておくと
人気企業や外資系企業の採用でも有利に働きやすくなります
文系エンジニアはアルゴリズムやデータ構造をちゃんと学んでる人が少ないから
そこが出来るようになるだけでまぁまぁ差別化できる文系エンジニアなのにすごいね!
とまで言われるからお得
— Yuki Hirai👨💻 (@yabaiwebyasan) January 29, 2019
今日はおすすめのアルゴリズムやデータ構造(データストラクチャー)について学べる本やWEBサイトを簡単に紹介します。
アルゴリズムの学習は文系エンジニアにとってみると
最初は少ししんどいかもしれませんw
とりあえず動けばいいじゃん!でコードを書いてきた人には
特につらいかもしれません
ただ、ひとつずつ時間をかけてでも理解できるようになってくると
こんなに効率的に並び替えや検索ができるようになるんだ!というのがわかるようになって
楽しくなってきます。
大事なのは折れずに時間をかけてでもひとつずつ理解しようという気持ちかなと思います←
もし、プログラミング初心者なら最初は出来るだけ簡単に学べる本を選ぶと良いかとおもいます。
自分が一番最初に手に取った本はこちらです。
この本はわかりやすくアルゴリズムやデータ構造について書かれているので
初心者にはおすすめです
ただ、図解があるとはいえなかなかアルゴリズムがイメージできないときがあります。
そんなときにおすすめなのが
=> VISUALGO.NET
というサイトです。
こちらは動的にアルゴリズムのソートや検索などを視覚的に再現してくれるサイトです。
説明や図解を読んでもイメージがうまくいかない場合はこのサイトで
対象のアルゴリズムの動きを視覚的に学んでみるとよいです。
そしてそのアルゴリズムの素晴らしさに惚れ込むことになるでしょう←
あとはそのアルゴリズムの名前でYouTubeで検索してみるのもよいです
自分はこちらのチャンネルの動画がアルゴリズムの理解に役立ちました
例えばヒープソートがうまく理解できないときにこの動画をみて
あーなるほどなーとなってましたw
中級者以上ならほとんどググれば解決しそうですが
体系的に学んでみたいという方には以下の本がおすすめです
ただこちらは読むのに体力がいる一冊になりますw
あとは、実際にアルゴリズムやデータ構造が採用面接で
どういう問題で出題されるのか
どういう問題で使用するのか
などの具体的なケースと一緒に学ぶのには以下の本がおすすめです
世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~
この本はコーディング試験の対策として有名ですが
O記法やアルゴリズム、データ構造についての説明もあるので
それぞれを学びながら進めていくことができます。
ただ、いかんせんページ数が多いのでこちらも読破には体力がいりますw
計画的にすすめましょう。
ただ、プログラマーとしてお金を稼ぎたいというのであれば
WEBサイトの作り方を覚えて自分でWEBサービスをつくったりとか
仕事を受注して開発すれば良いと思います。
ただ、プログラマーとしてより高度な課題にチャレンジできるようになりたいなら
このあたりの基礎力をちゃんと身につけておくのが大事だなと感じています。
文系からプログラマーになったのであれば
他のエンジニアよりも勉強することは山ほどあります。
ひたすらレベルアップあるのみですね