📘
アルゴリズムとデータ構造を学ぶ!はじめての人のための入門ガイド
Web開発をしていると「アルゴリズムって必要?」「データ構造ってなにそれ?」と思うかもしれません。でも、効率の良いコードを書くためにはこの2つは避けて通れません。
この記事では、初心者の方向けにアルゴリズムとデータ構造の基本をわかりやすく解説します。
🔧 アルゴリズムってそもそも何?
ある問題をどうやって解決するかの手順のこと。
例えば、「バラバラな数の中から一番大きい数を見つける」には、次のようなアルゴリズムがあります:
function findMax(arr){
let max = arr[0];
for(let i = 1; i<arr.length; i++){
if(arr[i] > max)max = arr[i];
}
return max;
}
これが「最大値を見つけるアルゴリズムです」です。
🧱 データ構造って何?
データをどういう形で持っておくかの「型・箱」のこと。
たとえば次のような種類があります:
・配列(Array):順番があるデータの集まり
・スタック(Stack):後から入れたものを先に取り出す
・キュー(Queue):先に入れたものを先に取り出す
・ハッシュマップ(Map):キーと値のセット
💡 よく使うアルゴリズムの例
| アルゴリズム名 | 何をする? | 例 |
|---|---|---|
| 線形探索 | 端から順番に探す |
forでループ |
| バイナリ探索 | 半分に分けながら探す | ソート済みの配列で速い検索が可能 |
| ソート | 並び替える | バブルソート/クイックソート |
| 再帰 | 自分自身を呼び出す関数 | フィボナッチ数列など |
再帰をTypeScriptで書くと以下のようになります。
export const fibonacciRecursive = (n: number): number => {
if (n <= 1) {
return n;
}
return fibonacciRecursive(n - 1) + fibonacciRecursive(n - 2);
};
これはProgate Pathの課題で取り組んだものです。再帰関数とは関数が自身の定義の中で、関数自身を呼び出す関数のことです。
📘 アルゴリズムはどんなときに使うのか?
・Webアプリの検索機能
・サーバー側のデータ整理
・大量データを扱うときの処理速度改善
・面接のコーディング問題対策
✅ まとめ
アルゴリズムとデータ構造は「わかってなくても動く」かもしれませんが、理解していると確実にコードの質が上がります。「この処理、もっと早くできないかな?」と考える癖をつけると、自然と成長していきます。
Discussion