Menu
Coddy logo textTech
学習パス

データ構造とアルゴリズムのロードマップ

DSAを、実際に身につく順番で。まず各データ構造を自分の手で実装し、次にソート、続いて再帰・動的計画法・グラフ、最後は面接問題集で実力を証明します。Python、Java、C++、Goなど14の言語から好きなものを選べて、ほぼすべてのコースがその全言語に用意されています。無料、ブラウザ完結、ほとんどのコースに修了証が付きます。

421 レッスン228 チャレンジ702 クイズの問題

  • 初心者向け
  • sparkles iconAIによるコーディングサポート
  • hint icon実践的なインタラクティブレッスン
  • volume On icon全レッスンに音声ナレーション付き
  • quiz icon知識を確かめるクイズ
  • certificate iconパス全体で24枚の無料修了証

データ構造とアルゴリズムのパス、ステップごとに

41 コース421 レッスン228 チャレンジ702 クイズの問題

各ステップは、すでにあるCoddyのコースの組み合わせです。順番に進めても、足りないところだけ飛び込んでも構いません。進捗はどちらの場合もコース単位で保存され、ほとんどのコースは最大14の言語で学べます。

  1. 1
    このステップを始める開始スタック、キュー、二分木、ハッシュテーブル、連結リスト。それぞれをゼロから実装し、実際に問題を解くのに使います。面接質問の大半と、あなたがすでに使っている標準ライブラリの多くを支えている5つの構造です。開始
  2. 2
    このステップを始める開始双方向連結リスト、ヒープと優先度付きキュー、トライ木、グラフ、そして自己平衡するAVL木。リストを丸暗記した候補者と、問題に合った道具を選べる候補者を分けるのが、この5つです。開始
  3. 3
    このステップを始める開始バブル、選択、挿入、マージ、クイック、ヒープ、計数、基数ソートを、書いて、比べて、可視化ツールで眺めます。ソートは、Big-Oが単なる記法であることをやめ、目に見えるものに変わる場所です。開始
  4. 4
    このステップを始める開始チャレンジ問題群で再帰的な考え方を身につけ、次にメモ化から表形式へと進む動的計画法(Pythonで解説)、そしてビット演算(C++で解説)。再帰は後の2つが土台にする考え方なので、最初に置いています。開始
  5. 5
  6. 6
使える機能
コーディングを学ぶために使うすべて

Learn by Doing

Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.

playground.js
Code Editor
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Input
"Alex"
Output
"Hello, Coddy! Alex"

Build Your Coding Streak

Stay consistent and watch your progress grow! Track your daily coding habit, protect your streak with freeze days, and earn rewards for showing up every day.

12 days streak

Return tomorrow to keep your streak!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Double or Nothing

Day 5 of 7

fire Freeze icon

Streak Freeze

2 left

Code Anywhere, Anytime

Take your coding journey on the go! No setup, no downloads - just open and start coding. Available on iOS, Android and Web with 4.9 star ratings.

Python
7Streak
250Score
5Energy
Variables
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
CONTINUE
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Journey
Goals
Leaderboard
Profile
4.9
StarStarStarStarStar
Rating

You're Not Alone in This

Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!

Challenger League
Challenger LeagueTop 7 advance
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconPromotion zoneleaderboard Arrow Up icon

Every way to learn

Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.

Intro to Variables
Audio

A variable is a named container that stores a value you can reference later in your program.

In Python, you create one by writing the name, an equals sign, then the value you want to store.

The value can change over time - reassigning the name simply points it to a new value.

1xSarah

Prove Your Skills

Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.

CoddyCertificate of Completion
This certifies thatJohn Doehas successfully completed
python iconPython Fundamentals
Verified
DateJan 2026
LinkedInAdd to LinkedIn

DSAをCoddyで学ぶ理由

  • すべての構造を、自分の言語で自分で実装します。スタック、連結リスト、ハッシュテーブル、AVL木をゼロから書き、そのまま使ってみる。しかも14言語のうち、あなたが面接で使う言語で。ひとつの言語で読んで後から書き換える学び方とは違います。
  • ソートは「見て」から「書く」。各ソートコースはCoddyのアルゴリズム可視化ツールとセットになっているので、マージソートがなぜ分割するのか、クイックソートがなぜ分割統治で仕切るのかを、そのコードを書く前に目で確かめられます。
  • 最初のコースから面接の形。どのレッスンもテストケースで採点されるチャレンジで終わります。これは技術面接の問題そのものの形式です。パスの最後には10本のチャレンジパックと、解説なしで解く2つの問題集が待っています。
  • あなたの解答を読むAIヒント。テストケースが落ちたときや、再帰がいつまでも戻ってこないとき、Bugsyがあなたの書いたコードを見て、答えを教えずに修正の方向へ導きます。ほとんどのコース(41コース中24コース)で無料の修了証が発行され、それぞれ専用URLで検証できます。

データ構造とアルゴリズムの学習についてよくある質問

データ構造とアルゴリズムはどの順番で学ぶべきですか?

まず線形の構造(スタック、キュー、連結リスト)、次にハッシュテーブルと木、それからソート、続いて考え方としての再帰、さらに動的計画法とグラフ、そのうえで初めて面接問題を継続的に解く、という順番です。構造より先に問題から入るのは独学者が最もよく陥る失敗で、ヒープを自分で作ったことがなければ、その問題がヒープを求めていることに気づけません。このパスはまさにその順番で組まれています。

DSAにはどの言語が向いていますか?

面接で使う言語です。Pythonは最も速く書けて選ぶ人が最も多く、JavaとC++は大手企業や競技プログラミングで広く使われ、GoやRustも受け入れられる場面が増えています。データ構造・ソート・グラフ・面接パックのコースは同じレッスンと同じテストケースで14言語に用意されています(動的計画法とPython面接シリーズはPythonのみ、ビット演算はC++のみ)。まず1つ選び、応募先が別の言語を求めたらその言語でコースをやり直せば十分です。2回目は数日で終わります。

このパスだけでコーディング面接の対策になりますか?

どの技術面接も土台にしている内容を、実際に作りながら学べます。さらに練習として、10本の面接チャレンジパック、Python面接シリーズ、最後に2つの問題集があります。代わりにならないのは「量」です。パスを終えたあとも、初見の問題を時間を計って解き続け、システム設計は別テーマとして勉強してください。ジュニアからミドルクラスの選考の大半は、ここにある内容でカバーできます。

データ構造とアルゴリズムの習得にはどのくらいかかりますか?

1日1時間ならパス全体でおよそ3〜4か月です。最初の5つのデータ構造に3〜4週間、次の5つに3週間、ソートに2〜3週間、再帰・動的計画法・ビット演算に3週間、グラフアルゴリズムに2〜3週間、面接パックは続ける限りずっと。多くの人がペースを落とすのは動的計画法ですが、その手前にある再帰のコースこそが理解を一気に進めてくれます。

アルゴリズムを学ぶのに数学は必要ですか?

思っているほど必要ありません。対数(Big-Oを読むため)、基本的な数え上げ、そして数学的帰納法の考え方に慣れていれば十分で、帰納法は再帰を書けば実地で身につきます。微積分も線形代数も不要です。二分探索がなぜ1ステップごとに問題を半分にできるのかを追えるなら、このパスに必要な数学はすでに持っています。

DSAのコースは無料ですか?

パス上のすべてのコースが無料です。レッスン、ブラウザ内エディタ、テストケース、AIヒント、修了証を発行しているコースの修了証まで含みます。Proは1日のエネルギー上限をなくし、AIの支援を無制限にするものですが、このページの内容はどれもProの向こう側にはありません。

AIがコードを書く今でも、データ構造を学ぶ価値はありますか?

以前よりあります。面接で問われ続けているのは、プログラムを「生成させる」のではなく「筋道を立てて考えられる」人かどうかを最短で見分けられるからです。実務でも、ハッシュの検索が定数時間で二重ループはそうでないと知っている人こそが、AIの出力を読んで1000万行でも耐えられるかどうかを判断できます。

他の学習パス

同じコースを別の職種向けに並べたものです。進捗は引き継がれ、あるパスで修了したコースは、それを含むすべてのパスで修了扱いになります。

すべての学習パス
Coddy programming languages illustration

データ構造とアルゴリズムパスを無料で始める

学習を始める