BohYoh.comトップページへ

Javaによるアルゴリズムとデータ構造

本書の概略 はじめに 目 次 本 文 ダウンロード 演習問題の解答 発行日・履歴 著書のページ

目次

第1章 基本的なアルゴリズム

1-1 アルゴリズムとは
三値の最大値
条件判定と分岐
流れ図の記号
1-2 繰返し
1からnまでの整数の和を求める
正の値の読込み
多重ループ

第2章 基本的なデータ構造

2-1 配列
配列
配列の要素の最大値を求める
配列の要素の並びを逆転する
二つの配列の比較
基数変換
素数の列挙
2-2 多次元配列
多次元配列
年内の経過日数の計算
凸凹な多次元配列
2-3 クラス
クラスとは
クラスの配列

第3章 探 索

3-1 探索アルゴリズム
探索とキー
探索アルゴリズムの選択
配列からの探索
3-2 線形探索
線形探索
番兵法
3-3 2分探索
2分探索
計算量
Arrays.binarySearchによる2分探索
3-4 ハッシュ法
ソート済み配列の操作
ハッシュ法
衝突
チェイン法
オープンアドレス法6

第4章 スタックとキュー

4-1 スタック
スタックとは
スタックの実現
4-2 キュー
キューとは
配列によるキューの実現
リングバッファによるキューの実現

第5章 再帰的アルゴリズム

5-1 再帰の基本
再帰とは
階乗値
ユークリッドの互除法
5-2 再帰アルゴリズムの解析
再帰アルゴリズムの解析
再帰アルゴリズムの非再帰的表現
5-3 ハノイの塔
ハノイの塔
5-4 8王妃問題
8王妃問題とは
王妃の配置
分枝操作
限定操作
8王妃問題のための分枝限定操作

第6章 ソート

6-1 ソートとは
ソートとは
6-2 単純交換ソート(バブルソート)
単純交換ソート(バブルソート)
6-3 単純選択ソート
単純選択ソート
6-4 単純挿入ソート
単純挿入ソート
6-5 シェルソート
単純挿入ソートの特徴
シェルソート
6-6 クイックソート
クイックソートの概略
分割の手順
クイックソート
枢軸の選択
時間計算量
非再帰的クイックソート
6-7 マージソート
ソート済み配列のマージ
マージソート
Arrays.sortによるクイックソート/マージソート
6-8 ヒープソート
ヒープ
ヒープソート
根を削除したヒープの再構築
ヒープソートへの拡張
配列のヒープ化
ヒープソートの時間計算量
6-9 度数ソート
度数ソート

第7章 集合

7-1 集合とは
集合と要素
部分集合と真部分集合
集合の演算
7-2 配列による集合
配列による集合

第8章 文字列探索

8-1 力まかせ法
文字列探索
力まかせ法(単純法)
java.lang.String.indexOfによる文字列探索
8-2 KMP法
KMP法
8-3 Boyer-Moore法
Boyer-Moore法

第9章 線形リスト

9-1 線形リストとは
線形リスト
線形リストの実現
9-2 ポインタによる線形リスト
ポインタによる線形リスト
線形リストを利用するプログラム
9-3 カーソルによる線形リスト
カーソルによる線形リスト
配列内の空き要素
フリーリスト
9-4 循環・重連結リスト
循環リスト
重連結リスト
循環・重連結リスト
循環・重連結リストの実現
循環・重連結リストを利用するプログラム

第10章 木構造

10-1 木構造
木とは
順序木と無順序木
順序木の探索
10-2 2分木と2分探索木
2分木
完全2分木
2分探索木
2分探索木の実現
2分探索木を利用するプログラム
参考文献
索引
謝辞
著者紹介

オンラインで購入できます!  □amazonで購入
本書の概略 はじめに 目 次 本 文 ダウンロード 演習問題の解答 発行日・履歴 著書のページ