Stack Map新人 Web エンジニアの地図

アルゴリズムは「手順」、データ構造は「入れ物」。
ふだん使っているアプリのどこで使われているかと一緒に見ると、ぐっと身近になります。

実務で出てくるのは、ここだけ

このタブは「発展」です。アルゴリズムの名前を知らなくても、仕事は回ります。ふだんの開発で効いてくるのは、この 5 つくらい。残りの節はたたんであるので、興味が出たときに開いてください。

発展ここから先は、興味が出たときに開いてください。

まず「速さの目安」(計算量・O 記法)

データが増えると、手順によって時間の増え方がまるで違います。100 万件のデータを、1 回 1 マイクロ秒で処理するとしたときの目安です。実際のパソコンはもっと速いので、秒数そのものより、行どうしの差を見てください。

データの持ち方(データ構造)

どう並べて持つかで、得意な操作が変わります。アルゴリズムとはいつも組で考えます。 データベースのインデックスで使う B-tree は、データベースのタブで動かせます。

アルゴリズムと、どこで使われているか

種類で絞り込めます。「使われている所」は、ふだん目にするサービスや道具の中です。

動かして見る

同じデータで、手順の違いがどれだけ効くかを比べます。

AI 時代のアルゴリズム

AI の中身も、アルゴリズムとデータ構造でできています。いまの AI(大規模言語モデル、LLM)の仕組みのうち、エンジニアが知っておくと役立つものを集めました。 AI に仕事を任せるときの考え方はAI と開発のタブへ。