関連サイト
本書の関連ページが用意されています。
内容紹介
アルゴリズムはITの分野でも重要なテーマの1つであり、一般教養としても学び身に付ける価値があります。本書はよく知られている「アルゴリズムとデータ構造」の計算の形・計算の流れ・計算結果のデータを分かりやすく視覚化しました。
各アルゴリズムに掲載している『QRコード』からスマートフォンやタブレット端末のカメラでアクセスすれば、直観的で分かりやすく・楽しく学習することができるアルゴリズム・アニメーション(動画)を見ることができます。
また本書では疑似コード(プログラミング言語の種類に依存しない模範コード)によるプログラミングの手引きも用意し解説しています。
アルゴリズムは人の脳で考え実行できますが、コンピュータプログラミングによって自動化することが可能です。アルゴリズムを正確に組み立て問題を理解・解決することができる能力、限られたコンピュータ資源を効率よく使い、データの構造を工夫していくことがプログラマにとって大切になってきます。
本書でアルゴリズムとデータ構造を理解し、プログラミング可能な実力を養おう。
書誌情報
- 著者: 渡部有隆, ニコライ・ミレンコフ
- 発行日: 2020-03-23 (紙書籍版発行日: 2020-03-23)
- 最終更新日: 2020-03-23
- バージョン: 1.0.0
- ページ数: 416ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
渡部有隆
コンピュータ理工学博士。会津大学コンピュータ理工学部情報システム学部門 上級准教授。専門はビジュアルプログラミング言語。AIZU ONLINE JUDGE 開発者。
ニコライ・ミレンコフ
Institute of Electrical Engineers Novosibirsk 卒。専門は手法の可視化と分散コンピューティング。会津大学 教授(1993-2013)、会津大学 副学長(2007-2009)。会津大学特別栄誉教授(2009-2013)
目次
本事典の読み方
アルゴリズム・アイコンのリスト
Part 1 準備編
1章 プログラミングの基本要素
- 1-1 変数と代入演算
- 1-2 基本演算
- 1-3 制御構造
- 1-4 関数
2章 プログラミングの応用要素
- 2-1 命名規則
- 2-2 区間の表し方
- 2-3 再帰
- 2-4 クラス
- 2-5 ポインタ
3章 アルゴリズム設計の準備
- 3-1 O記法
- 3-2 問題の制約
Part 2 空間構造
4章 空間構造概要
- 4-1 空間構造:概要
- 4-2 配列
- 4-3 グラフ
- 4-4 木
5章 配列
- 5-1 シングルノード
- 5-2 1次元配列
- 5-3 2次元配列
6章 木
- 6-1 二分木
- 6-2 おおよそ完全二分木
- 6-3 完全二分木
- 6-4 森
7章 グラフ
- 7-1 無向グラフ
- 7-2 有向グラフ
8章 点群
- 8-1 2次元点群
9章 動的構造
- 9-1 連結リスト
- 9-2 二分木
Part 3 アルゴリズムとデータ構造
10章 入門
- 10-1 スワップ
- 10-2 最大値 ( マックス)
- 10-3 スワップによるソート
11章 配列に対する基本クエリ
- 11-1 合計(サム)
- 11-2 最小要素の値(ミニマム)
- 11-3 最小要素の位置(ミニマムインデックス)
12章 探索
- 12-1 線形探索
- 12-2 二分探索
13章 配列要素の並び替え
- 13-1 リバース
- 13-2 挿入
- 13-3 マージ
- 13-4 パーティション
14章 遅いソート
- 14-1 バブルソート
- 14-2 選択ソート
- 14-3 挿入ソート
15章 整数に関するアルゴリズム
- 15-1 エラトステネスの篩
- 15-2 ユークリッドの互除法
16章 基本データ構造1
- 16-1 スタック
- 16-2 キュー
17章 配列に対する計算
- 17-1 累積和
- 17-2 1次元累積和
- 17-3 2次元累積和
18章 ヒープ
- 18-1 アップヒープ
- 18-2 ダウンヒープ
- 18-3 ビルドヒープ
- 18-4 優先度付きキュー
19章 二分木
- 19-1 先行順巡回
- 19-2 後行順巡回
- 19-3 中間順巡回
- 19-4 レベル順巡回
- ・基本データ構造:比較表
20章 ソート
- 20-1 マージソート
- 20-2 クイックソート
- 20-3 ヒープソート
- 20-4 計数ソート
- 20-5 シェルソート
- ・ソートアルゴリズム:比較表
21章 基本データ構造2
- 21-1 双方向連結リスト
- 21-2 ハッシュ表
22章 幅優先探索
- 22-1 幅優先探索
- 22-2 BFSよる距離の計算
- 22-3 Kahnのアルゴリズム
23章 深さ優先探索
- 23-1 深さ優先探索
- 23-2 DFSによる連結成分分解
- 23-3 DFSによる閉路検知
- 23-4 Tarjanのアルゴリズム
24章 Union-Find 木
- 24-1 ランクによる合併
- 24-2 経路圧縮
- 24-3 Union-Find木
25章 最小全域木を求めるアルゴリズム
- 25-1 プリムのアルゴリズム
- 25-2 クラスカルのアルゴリズム
26章 最短経路を求めるアルゴリズム
- 26-1 ダイクストラのアルゴリズム
- 26-2 ダイクストラのアルゴリズム(優先度付きキュー)
- 26-3 ベルマンフォードのアルゴリズム
- 26-4 ワーシャルフロイドのアルゴリズム
- ・最短経路のアルゴリズム:比較表
27章 計算幾何学
- 27-1 ギフトラッピング
- 27-2 グラハムスキャン
- 27-3 アンドリューのアルゴリズム
28章 セグメント木
- 28-1 セグメント木:RMQ
- 28-2 セグメント木:RSQ
29章 探索木
- 29-1 二分探索木
- 29-2 回転
- 29-3 トリープ
- ・辞書のデータ構造:比較表