データ構造とアルゴリズムはコーディング試験で若干必要になることもあるのと、実務のデータを扱うときにまあまあ役立つときもあるので最低限のところは知っておきたいところです。
外資とかGAFAM受ける以外のケースでは、簡単なものを知ってて調べながらなんか作れるぐらいの理解度でOK。
計算量のO記法(ビッグオー記法)とかはコードレビューとかでまあまあ指摘されるというか意識すべきところなので、なんとなく知っておきつつ計算量を意識できるようになるとGOOD 🙆♂️
結構雑な解説なのとレビューは悪いけど(笑)、この本で知ってChatGPTとかに聞きながら真似してみる程度で本当に基本的な部分は知れます。
Kindle unlimitedに入ってればそれでOK。
正直クソ詳しい本とかはいらないと思う。
そんなに時間かけられないし、本当に必要になったときにガッツリやればOK。
リソースにある本をざーっと読む。確か解説がかなり簡素だったと思うのでChatGPTに適宜聞きつつググりつつやるのがいい。
実際にエディタ上で書いてみる。
例えば、queueとstackを書くならvsocdeで実際に何も見ないでそれを実装して適当に動かしてみる。
微妙そうなら適宜ChatGPTに聞いてレビューしてもらう。
がちで必要なケースを除いて、1~2週間ぐらいでざーっとやっておきたい。
ほぼ使わないというよりかは大体wrapされて使いやすいようになってるのと、hash table(集合)は普通に使うのと、再帰的に木っぽい構造とかはたまに普通に使う。
完全に実装するというよりかは、手を動かして真似して作ってみて知っておくってスタンスでやるのがおすすめ。
補足: このCheckListの内容は基本的に細かい実装方法とかは忘れるけど、概念っぽいのは覚えてられる
ちなみにぼく(くそまんじ)はうっすらしか覚えてない。あと多分GAFAM出身エンジニア達もコーディング試験の時にだけそこら辺の知識を復習して記憶強めにして普段は完全には覚えてないと思うというのはみてて感じるところ。