アルゴリズム入門 (改訂版)
改訂版では木構造を用いて探索を行なう二分探索木について加筆したことにより,一つの目的を達成するための手段として多様なアルゴリズムを習得し,状況に応じて適切なアルゴリズムを選択できる応用力を身につけることを目的とした。
- ジャンル
- 発行年月日
- 2013/07/24
- 判型
- A5
- ページ数
- 192ページ
- ISBN
- 978-4-339-02474-6
- 内容紹介
- 目次
- レビュー
改訂版では木構造を用いて探索を行なう二分探索木について加筆したことにより,一つの目的を達成するための手段として多様なアルゴリズムを習得し,状況に応じて適切なアルゴリズムを選択できる応用力を身につけることを目的とした。
1. プログラミングとアルゴリズム
1.1 プログラミング
1.1.1 ソフトウェアとプログラミング
1.1.2 プログラミング言語
1.2 アルゴリズム
1.2.1 アルゴリズムの必須条件
1.2.2 アルゴリズムの選択基準
1.3 計算量
1.3.1 時間計算量
1.3.2 O 記法
1.3.3 最大計算量と平均計算量
1.3.4 領域計算量
章末問題
2. データ構造
2.1 データ構造
2.2 変数と定数
2.3 基本データ型
2.3.1 単純型
2.3.2 ポインタ型
2.4 構造型
2.4.1 配列型
2.4.2 レコード型
2.5 抽象データ型
2.6 リスト
2.7 スタック
2.8 キュー
2.9 木
2.10 ハッシュ
章末問題
3. フローチャート
3.1 フローチャート
3.2 流れ図記号
3.2.1 端子・処理・データ・準備
3.2.2 判断
3.2.3 ループ端
3.2.4 並列処理
3.2.5 定義済み処理
3.2.6 注釈
3.2.7 結合子
章末問題
4. サブルーチンと再帰
4.1 サブルーチン
4.1.1 階乗
4.1.2 実数の整数部分と整数除算の剰余
4.1.3 検査数字
4.1.4 配列の要素の交換
4.2 再帰
4.2.1 階乗の再帰的定義
4.2.2 自然数の和
4.2.3 アッカーマン関数
4.2.4 フィボナッチ数列
4.2.5 ハノイの塔
4.2.6 エイトクイーン
章末問題
5. いろいろなアルゴリズム
5.1 最大値と整列
5.1.1 配列要素の最大値
5.1.2 選択法による整列
5.2 10 進数から2進数への変換
5.3 素数
5.3.1 逐次法
5.3.2 エラトステネスのふるい
5.3.3 N個の素数
5.3.4 アルゴリズムの比較
5.4 最大公約数
5.4.1 手計算と同じ方法
5.4.2 差を用いる方法
5.4.3 ユークリッドの互除法
5.4.4 アルゴリズムの比較
章末問題
6. 探索
6.1 線形探索
6.1.1 配列の線形探索
6.1.2 単方向リストの線形探索
6.2 二分探索
6.3 二分探索木
6.4 ハッシュ探索
章末問題
7. 整列
7.1 バブルソート
7.2 クイックソート
7.3 ヒープソート
7.3.1 整列
7.3.2 追加と削除
章末問題
8. 文字列照合
8.1 基本の文字列照合
8.2 番兵を用いた文字列照合
付録C言語プログラムソース
章末問題解答
索引