新・標準プログラマーズライブラリ アルゴリズム はじめの一歩 完全攻略
- 技術評論社 (2019年2月14日発売)
- Amazon.co.jp ・本 (288ページ)
- / ISBN・EAN: 9784297103941
感想・レビュー・書評
-
【感想】
これより易しい本は無いと思う。サンプルコードはJava。
【書誌情報】
『アルゴリズム はじめの一歩 完全攻略』
著者:矢沢 久雄[やざわ・ひさお](1961-)
装丁:石間 淳
カバーイラスト:花山 由理
本文デザイン:BUCH+
出版社:技術評論社
シリーズ:新・標準プログラマーズライブラリ
2019年2月14日 紙版発売
2019年2月14日 電子版発売
版型:B5変形判/288ページ
定価:2,838円(本体2,580円+税10%)
ISBN:978-4-297-10394-1
アルゴリズムは,特殊な才能がある人だけが考えるものではありません。しっかりと基本をマスターすれば,誰でも考えられるようになるものです。
本書は,プログラミングを支える強力な基礎=アルゴリズムをマスターするために,本のはじめから終わりまで,徹底的に丁寧に説明します。「ソート」「計算量」から,「二分探索木」「ハッシュ表探索法」「動的計画法」「遺伝的アルゴリズム」と,理解を積み重ねながらステップアップ。最終的には,挿入法や二分探索法のプログラムが自力で作れるようになり,基本情報技術者試験の午後問題レベルの問題が十分解けるようになります。
https://gihyo.jp/book/2019/978-4-297-10394-1
【目次】
はじめに(2019年1月吉日 著者 矢沢久雄) [003]
本書の構成と使い方 [004-005]
CONTENTS [006-012]
第1章 ウォーミングアップ
1-1 アルゴリズムとは何か 014
1-1-1 アルゴリズムという言葉の意味
1-1-2 アルゴリズムを考えるコツ
1-1-3 コンピュータのアルゴリズム
1-2 フローチャート,擬似言語,Java,C言語の対応 025
1-2-1 基本構文
1-2-2 処理の流れ
1-2-3 演算子
1-3 ユークリッドの互除法 037
1-3-1 アルゴリズムの説明
1-3-2 アルゴリズムのトレースと仕組み
1-3-3 アルゴリズムの表記
第2章 ループと配列の基本と線形探索
2-1 ループと配列の基本 048
2-1-1 配列の合計値を求めるアルゴリズム
2-1-2 アルゴリズムのトレース
2-1-3 Javaによるアルゴリズムのトレース
2-2 線形探索 057
2-2-1 線形探索のアルゴリズム
2-2-2 アルゴリズムのトレース
2-2-3 Javaによるアルゴリズムのトレース
第3章 二分探索と計算量
3-1 二分探索 072
3-1-1 二分探索のアルゴリズム
3-1-2 アルゴリズムのトレース
3-1-3 Javaによるアルゴリズムのトレース
3-2 アルゴリズムの計算量 083
3-2-1 線形探索と二分探索の計算量
3-2-2 サーチとソートの主なアルゴリズムの計算量
3-2-3 データ量と計算量
第4章 多重ループと挿入法
4-1 多重ループの基礎 092
4-1-1 掛け算の九九表のアルゴリズム
4-1-2 アルゴリズムのトレース
4-1-3 Javaによるアルゴリズムのトレース
4-2 挿入法 103
4-2-1 挿入法のアルゴリズム
4-2-2 アルゴリズムのトレース
4-2-3 Javaによるアルゴリズムのトレース
第5章 連結リストの仕組みと操作
5-1 連結リストの仕組みとトレース 122
5-1-1 通常の配列と連結リストの違い
5-1-2 連結リストの長所
5-1-3 連結リストの短所
5-2 連結リストを操作するプログラム 130
5-2-1 連結リストを作成して要素を表示する
5-2-2 連結リストへ要素を挿入する
5-2-3 連結リストから要素を削除する
第6章 二分探索木への追加と探索
6-1 二分探索木のデータ構造と要素の追加 144
6-1-1 二分探索木のデータ構造
6-1-2 二分探索木へ要素を追加するアルゴリズム
6-1-3 アルゴリズムのトレース
6-2 二分探索木の探索 155
6-2-1 二分探索木の深さ優先探索
6-2-2 二分探索木から要素を探索するアルゴリズム
6-2-3 再帰呼び出しによる二分探索木の探索
第7章 ハッシュ表探索法
7-1 ハッシュ表探索法の仕組み 166
7-1-1 ハッシュ表探索法のアルゴリズム
7-1-2 アルゴリズムのトレース
7-1-3 Javaによるアルゴリズムのトレース
7-2 シノニムに対処する方法 176
7-2-1 シノニムに対応するためのアルゴリズム
7-2-2 アルゴリズムのトレース
7-2-3 Javaによるアルゴリズムのトレース
第8章 再帰呼び出しとクイックソート
8-1 再帰呼び出し 194
8-1-1 nの階乗を求めるアルゴリズム
8-1-2 アルゴリズムのトレース
8-1-3 Javaによるアルゴリズムのトレース
8-2 クイックソート 201
8-2-1 クイックソートのアルゴリズム
8-2-2 アルゴリズムのトレース
8-2-3 Javaによるアルゴリズムのトレース
第9章 動的計画法とナップサック問題
9-1 動的計画法 218
9-1-1 再帰呼び出しでフィボナッチ数を求める
9-1-2 動的計画法でフィボナッチ数を求める
9-1-3 再帰呼び出しと動的計画法を組み合わせてフィボナッチ数を求める
9-2 ナップサック問題 227
9-2-1 ナップサック問題と動的計画法
9-2-2 動的計画法でナップサック問題を解く仕組み
9-2-3 動的計画法でナップサック問題を解くプログラム
第10章 遺伝的アルゴリズムとナップサック問題
10-1 遺伝的アルゴリズムでナップサック問題を解く仕組み 240
10-1-1 遺伝的アルゴリズムの手順
10-1-2 遺伝的アルゴリズムの仕組みを説明するプログラム
10-1-3 遺伝的アルゴリズムの仕組みを説明するプログラムの概要
10-2 遺伝的アルゴリズムでナップサック問題を解くプログラムの作成 248
10-2-1 プログラムを構成するフィールドの役割
10-2-2 プログラムを構成するメソッドの機能
10-2-3 プログラム全体
付録 基本情報技術者試験の問題で腕試ししてみよう
平成30年度 春期 午後 問8「ヒープの性質を利用したデータの整列」 264
解説と解答 270
平成29年度 秋期 午後 問8「文字列の誤りの検出」 271
解説と解答 278
クイズの解答 [280-283]
確認問題の解答 [284-285]
おわりに/謝辞 [285]
索引 [286-287]
クイズ
Quiz 最小公倍数を求めるには? 042
Quiz なぜ配列の先頭が0番なのか? 049
Quiz 線形探索を効率化する番兵の値は? 060
Quiz 最初に何という数をいえば合格か? 073
Quiz 昇順を降順に変えるには? 108
Quiz breakを使わずにループを途中終了するには? 108
Quiz 削除した要素を管理するには? 128
Quiz どの部分が根,節,葉? 146
Quiz なぜハッシュと呼ぶのか? 171
Quiz クイックソートが速い理由は? 212
Quiz ウサギのペアの数は? 218
Quiz 遺伝的アルゴリズムがどこに使われている? 247
確認問題
第1章 確認問題 045
第2章 確認問題 068
第3章 確認問題 088
第4章 確認問題 119
第5章 確認問題 140
第6章 確認問題 163
第7章 確認問題 191
第8章 確認問題 214
第9章 確認問題 236
第10章 確認問題 261
コラム
COLUMN ユークリッドの互除法のよりよい手順 046
COLUMN 配列の最大値と最小値を求める 069
COLUMN 工夫すれば速くなる! 素数を判定するアルゴリズムの計算量 089
COLUMN 挿入法と同じ計算量O(N^2)のバブルソートと選択法 120
COLUMN 単方向リスト,双方向リスト,循環リスト 141
COLUMN ヒープとヒープソート 164
COLUMN オープンアドレス法とチェイン法 192
COLUMN 効率のよい基準値を選ぶ方法 215
COLUMN 簡単な貪欲法でナップサック問題を解く 237
COLUMN プログラミングコンテストの問題に挑戦 262詳細をみるコメント0件をすべて表示 -
【貸出状況・配架場所はこちらから確認できます】
https://lib-opac.bunri-u.ac.jp/opac/volume/735786 -
請求記号 007.64/Y 67