1年目Webエンジニアがアルゴリズムを学ぶ

こんにちは!限界突破エンジニアのブログへようこそ。akaichiと申します。これから、NeetCodeのロードマップに沿って、データ構造とアルゴリズムについて、問題を解きながら学んでいく技術ブログを始めます。

概要と目的

このブログでは、NeetCodeが提供する体系的なロードマップをもとに、コーディング問題を扱い、解法と考え方を探求していきます。データ構造とアルゴリズムを理解することで、プログラミングスキルと問題解決能力を向上させることを目的としています。

データ構造とアルゴリズムを学ぶ重要性

この記事を執筆時点で、OpenAI の o1 pro が話題に上がっており、AIをつかって競技プログラミングの問題を解く能力が飛躍的に向上しています。これにより、人間がデータ構造とアルゴリズムについて学ぶ必要性が薄れている気もするのですが、論理的思考や問題解決能力の訓練にはなりますし、学習プロセスで培われるスキルはプログラミングのみの領域にとどまらず、日常での意思決定にも役立つと思います。

NeetCodeのロードマップの紹介

NeetCodeって?

そもそもNeetCodeについて話す前に、LeetCodeの話をしないといけません。
LeetCodeは主にコーディング面接の対策に使用される問題がまとめられたプログラミング学習サービスです。
NeetCodeは元Googleのエンジニアが作成したLeetCodeを効率よく学習するためのサイトです。

なぜNeetCodeで学習するのか

LeetCodeに掲載されている数多くの問題から、150問をピックアップして、効果的に学ぶための学習順序が示されています。英語ですが、YouTubeに解説動画もあり、Reddit等のコミュニティで多くの支持を得ています。
また、1つの問題に対して、複数の解法が示されているので、自分では気づけなかった視点を得られたり、どの解法がよいのかだったりを考えることができます。

筆者について

スペック

  • 1年目のWeb開発エンジニア
  • 大学では情報工学を専攻
  • 英語は初心者

私は、上記の説明からわかる通り、完全なる駆け出しエンジニアです。情報工学部を卒業してはいますが、お世辞にもプログラミングができるとはいえませんし、他のソフトウェア開発に関する知識も悲しいことに未経験の方と変わらないです。
なので、このブログの執筆は、私のコーディングスキルを向上させるためのアウトプットとしての目的が大きいです。

ブログへの思い

個人のブログなので、間違った情報や偏見が多々入ってくることもあるとは思いますが、私自身が学びながら経験したことや感じたことを共有して、成長していきたいです。
初心者ならではの視点でわかりやすく解説することを心がけていますので、ぜひ一緒に学んでいきましょう!

コメント

タイトルとURLをコピーしました