データ構造シリーズ パート1
このステップを始める開始スタック、キュー、二分木、ハッシュテーブル、連結リスト。それぞれをJavaでゼロから実装し、実際に問題を解くのに使います。終えるころにはArrayDequeとHashMapが内部で何をしているかがわかります。Javaの面接が掘り下げてくるのは、まさにそこです。開始Javaのコレクションは、まさにこれらのデータ構造です。ArrayDeque、HashMap、PriorityQueue、TreeMapは、それぞれキュー、ハッシュテーブル、ヒープ、平衡木です。このパスでは、そのひとつひとつをJavaで実装し、それを使ってソート、再帰、グラフ探索を行い、最後は採点付きの面接問題で締めくくります。無料、ブラウザ完結、ほとんどのコースに修了証が付きます。
377 レッスン284 チャレンジ702 クイズの問題
各ステップは、すでにあるCoddyのコースの組み合わせで、どの「開始」ボタンもコースをJavaで開きます。まだJavaで教えていない3つのコースは、ステップのあとに載せています。
ArrayDequeとHashMapが内部で何をしているかがわかります。Javaの面接が掘り下げてくるのは、まさにそこです。開始PriorityQueueは自分で書いたことのある二分ヒープになり、TreeMapは仕組みのわかる平衡木になります。あなたのものがAVL木なのに対し、あちらは赤黒木です。開始Arrays.sortはプリミティブ型にはクイックソートの変種を、オブジェクトには安定なマージソート系のソートを使います。その理由は、このステップを終えればわかります。開始>>>を加えたものです。開始専用ページPriorityQueue、つまりステップ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プロフィールや履歴書に追加して、雇用主にプログラミングスキルをアピールしましょう。
HashMapやPriorityQueueは毎日使っていても、ここではハッシュテーブルと二分ヒープを自分で書きます。だから、どのJava面接官も投げかける追加の質問、つまり衝突が起きたら何が起こるのか、poll()のコストはどれくらいかに答えられます。next参照を持つNode<T>は、読んで理解できる連結リストです。はい。Pythonと比べると冗長ですが、学ぶ段階ではその冗長さが助けになります。型によってノード、参照、ジェネリクスの型パラメータがすべて明示され、標準ライブラリのコレクションはこのパスの構造と一対一で対応しています。ほぼすべてのオンラインジャッジと面接で十分な速さがあり、多くの大学の授業やキャンパス採用で使われている言語でもあります。
ArrayDequeはスタックまたはキュー、LinkedListは双方向連結リスト、HashMapとHashSetはハッシュテーブル、PriorityQueueは二分最小ヒープ、TreeMapとTreeSetは赤黒木で、ステップ2で作るAVL木と同じく平衡二分探索木です。トライ木やグラフのクラスはないので、それらは自分で書きます。ArrayDequeです。StackはVectorを継承したレガシークラスなので、すべての呼び出しが同期化され、スタックにあるべきでないリストのメソッドまで受け継いでいます。Javaのドキュメント自体も、代わりにDequeを使うよう勧めています。面接官はそこを見ています。定石の1行はDeque<Integer> stack = new ArrayDeque<>();です。面接や競技で使うほうです。C++はその速さとSTLから競技プログラミングの標準で、Javaも面接ではまったく引けを取りません。ガベージコレクタがあるので、アルゴリズムにまだ不慣れなうちに手動でメモリを管理する必要もありません。考え方はまったく同じなので、あとから乗り換えても、学び直しではなく構文の置き換えで済みます。
>>>もあるからです。クラス、メソッド、配列、ループに慣れている必要があります。ジェネリクスも知っていると役立ちますが、途中で身につきます。まだそこまで届いていなければ、CoddyのJavaコースが、まず無料でそこまで連れて行ってくれます。このパスは、そのコースが終わるところから始まります。
はい。すべてのステップを修了すると、データ構造とアルゴリズムパス全体の無料修了証を1枚取得できます。途中で修了した各コースが記載され、各コースの修了証にリンクしているので、記載されたスキルを誰でも確認できます。LinkedInのプロフィールに追加できます。Coddyが発行する修了証であり、認定された資格ではありません。