データ構造シリーズ パート1
このステップを始める開始スタック、キュー、二分木、ハッシュテーブル、連結リスト。それぞれをPythonでゼロから実装し、実際に問題を解くのに使います。終えるころには、list、deque、dictが何をしてくれていて、そのコストがどれほどかがわかります。開始Pythonは、このパスを最も完全な形で進められる言語です。ビット演算を除くすべてのコースをPythonで教えていて、そのビット演算はC++のみのため、ステップのあとに載せています。スタック、ハッシュテーブル、ヒープ、AVL木を自分で実装するので、list、dict、deque、heapqはもう魔法ではなくなり、その理解を採点付きの面接問題で証明します。無料、ブラウザ完結、ほとんどのコースに修了証が付きます。
404 レッスン284 チャレンジ702 クイズの問題
各ステップは、すでにあるCoddyのコースの組み合わせで、どの「開始」ボタンもコースをPythonで開きます。Pythonで教えていないコースはビット演算の1つだけで、ステップのあとに載せています。
list、deque、dictが何をしてくれていて、そのコストがどれほどかがわかります。開始heapqは自分で書いたことのある二分ヒープになり、Pythonが用意してくれなかった平衡木も自分で作れるようになります。開始sorted()はマージソートと挿入ソートを組み合わせたTimsortで、このステップを終えれば、それがなぜ良い設計なのかを説明できます。開始&、|、^、<<、>>はPythonの演算子でもあるので、それでもすんなり読めます。開始heapq、つまりステップ2のヒープをライブラリにしたものです。開始実際のコードを書き、データベースをクエリし、ウェブサイトを構築し、AIプロンプトをマスターしましょう。インタラクティブなレッスンで現代の開発者に必要なすべてのスキルを網羅しています。
継続して進捗を見守りましょう!毎日のコーディング習慣を追跡し、フリーズ日で連続記録を守り、毎日参加することで報酬を獲得しましょう。
12 日連続
明日も戻ってきて連続記録を維持しましょう!
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
ダブル・オア・ナッシング
7日中5日目
連続記録フリーズ
2 left
コーディングの旅を持ち歩こう!セットアップ不要、ダウンロード不要 - 開いてすぐにコーディング開始。iOS、Android、Webで4.9星評価で利用可能。
グローバルリーダーボードで競い、友達を招待して報酬を獲得し、お互いの成功を祝いましょう。プログラミングは友達と一緒の方が楽しい!
読む・聴く・自分を試す・AIに聞く・学んだことを調べる。どんな学び方にも対応したレッスンです。
変数は、後でプログラム内で参照できる値を格納する、名前のついた入れ物です。
Pythonでは、名前、イコール記号、格納したい値の順で書くことで作成します。
値は後から変えられます。再代入すると、名前は新しい値を指すようになります。
完了したすべてのコースで証明書を獲得しましょう。LinkedInプロフィールや履歴書に追加して、雇用主にプログラミングスキルをアピールしましょう。
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で作る構造です。