Skip to content

アルゴリズムから始める Java 入門

Java を使ってアルゴリズムとデータ構造を TDD で学ぶシリーズです。

章構成

第 1 部: 基本

テーマ
第 1 章 基本的なアルゴリズム 3 値の最大値・中央値、条件判定、繰り返し処理、多重ループ
第 2 章 配列 配列の基本操作、基数変換、素数列挙
第 3 章 探索アルゴリズム 線形探索、二分探索、ハッシュ法

第 2 部: データ構造

テーマ
第 4 章 スタックとキュー 固定長スタック、固定長キュー(リングバッファ)
第 5 章 再帰アルゴリズム 階乗、最大公約数、ハノイの塔、8 王妃問題

第 3 部: ソートと文字列

テーマ
第 6 章 ソートアルゴリズム バブル、選択、挿入、シェル、クイック、マージ、ヒープ、度数ソート
第 7 章 文字列処理 ブルートフォース、KMP、Boyer-Moore、文字カウント、回文判定

第 4 部: 高度なデータ構造

テーマ
第 8 章 リスト 単方向連結リスト、双方向連結リスト、配列カーソル版リスト
第 9 章 木構造 二分探索木(挿入、探索、削除、走査)

実装コード

実装コードは apps/java/ にあります。

環境

  • Java: JDK 21
  • ビルドツール: Gradle
  • テストフレームワーク: JUnit 5
  • Nix devShell: .#java
# テスト実行
nix develop .#java --command bash -c "cd apps/java && gradle test"

参考文献

  • 『新・明解 Python で学ぶアルゴリズムとデータ構造』 -- 柴田望洋
  • 『テスト駆動開発』 -- Kent Beck