データ構造シリーズ パート1
このステップを始める開始スタック、キュー、二分木、ハッシュテーブル、連結リスト。それぞれをJavaScriptでゼロから実装し、実際に問題を解くのに使います。これを終えると、配列がスタックとして優秀なのはどんなときか、キューとして不向きなのはどんなときか、そしてMapが何をしてくれているかがわかります。開始JavaScriptにあるのはArray、Map、Setで、キューもヒープも連結リストも木もありません。だから面接ではそれらを作るよう求められます。このパスでは、そのひとつひとつをJavaScriptで書き、それを使ってソート、再帰、グラフ探索を行い、最後は採点付きの面接問題で締めくくります。無料、ブラウザ完結、ほとんどのコースに修了証が付きます。
377 レッスン228 チャレンジ702 クイズの問題
各ステップは、すでにあるCoddyのコースの組み合わせで、どの「開始」ボタンもコースをJavaScriptで開きます。まだJavaScriptで教えていない3つのコースは、ステップのあとに載せています。
Mapが何をしてくれているかがわかります。開始sort()はES2019以降、安定であることが求められており、V8はそれをTimsortで実装しています。このステップを終えれば、その両方の意味がわかります。開始Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.
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!
January 2026
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
Double or Nothing
Day 5 of 7
Streak Freeze
2 left
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.
Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!
Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.
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.
Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.
sort()が文字列として比較すること、そしてすべての数値が64ビット浮動小数点数なので、2^53を超える整数にはBigIntが必要なことです。Array、Map、Setとそれぞれの弱参照版だけです。面接では、30行ほどの小さな二分ヒープを書くか、ヒープを使うと述べてそのコストを説明するかのどちらかです。いずれにしても、一度は書いたことがある必要があります。それをするのが、このパスのステップ2です。[10, 9, 1].sort()は[1, 10, 9]を返すのですか?Array.prototype.sortは要素を文字列に変換してUTF-16の順序で比較し、'10'は'9'より前に来るからです。数値はnums.sort((a, b) => a - b)でソートします。JavaScriptでソートのコードを書き始めた人の多くが、最初に出会うバグです。Mapの検索は定数時間で、2つのリストに対する二重ループはそうではないと知っていることが、動くだけの答えと速い答えを分けます。>>>がありますが、32ビット整数に対して適用されます。テクニックを移植するときは、そのことを覚えておきましょう。