データ構造シリーズ パート1
このステップを始める開始スタック、キュー、二分木、ハッシュテーブル、連結リスト。それぞれをPythonでゼロから実装し、実際に問題を解くのに使います。終えるころには、list、deque、dictが何をしてくれていて、そのコストがどれほどかがわかります。開始Pythonは、このパスを最も完全な形で進められる言語です。ビット演算を除くすべてのコースをPythonで教えていて、そのビット演算はC++のみのため、ステップのあとに載せています。スタック、ハッシュテーブル、ヒープ、AVL木を自分で実装するので、list、dict、deque、heapqはもう魔法ではなくなり、その理解を採点付きの面接問題で証明します。無料、ブラウザ完結、ほとんどのコースに修了証が付きます。
404 レッスン228 チャレンジ702 クイズの問題
各ステップは、すでにあるCoddyのコースの組み合わせで、どの「開始」ボタンもコースをPythonで開きます。Pythonで教えていないコースはビット演算の1つだけで、ステップのあとに載せています。
list、deque、dictが何をしてくれていて、そのコストがどれほどかがわかります。開始heapqは自分で書いたことのある二分ヒープになり、Pythonが用意してくれなかった平衡木も自分で作れるようになります。開始sorted()はマージソートと挿入ソートを組み合わせたTimsortで、このステップを終えれば、それがなぜ良い設計なのかを説明できます。開始&、|、^、<<、>>はPythonの演算子でもあるので、それでもすんなり読めます。開始heapq、つまりステップ2のヒープをライブラリにしたものです。開始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.
list、dict、set、deque、heapqが最初から用意されています。その裏にある構造を自分で作ることで、list.pop(0)がなぜ遅いのか、dictの検索がなぜ平均で定数時間なのか、ヒープがソートに勝つのはどんなときかがわかります。どれも、それを使ったあとで面接官がまさに尋ねてくることです。list(動的配列)、dictとset(ハッシュテーブル)、tuple、collections.deque(両端とも高速なキュー)、heapq(リスト上の二分最小ヒープ)、そしてcollections.Counterです。名前だけでなく、各操作のコストまで知っておきましょう。Pythonには連結リスト、木、トライ木、グラフが組み込まれていないので、それらはステップ1と2で自分で書きます。listの上に作ったキューは、pop(0)のたびに残りの要素がすべて1つずつずれるので、そのたびにコストを払います。deque.popleft()なら払いません。各構造を一度実装することで、考えなくても正しいものを選べるほどコストが身につきます。RecursionErrorを起こすことがあります。上限はsys.setrecursionlimitで引き上げられますが、より良い習慣であり、面接官も見たがるのは、再帰をループと明示的なスタックに置き換える方法を知っていることです。そのスタックこそ、ステップ1で作る構造です。