超最速ソートアルゴリズム解説 【目次】
Explanation for Ultra fastest sorting algorithm
- はじめに
- 第1章 ソートの基礎
- 1.1 ソートとは
- 1.2 安定性とは
- 1.3 内部/外部ソートとは
- 1.4 計算量 O記法とは
- 1.5 in-placeとは
- 1.6 ソートいろいろ
- 第2章 超最速ソートを求めて
- 2.1 プロジェクト始動
- 2.2 設計課題の発生
- 2.3 探索手法の工夫
- 2.3.1 線形探索では遅い
- 2.3.2 定石の二分探索
- 2.3.3 二分探索は速い
- 2.4 ソートの方法は
- 2.4.1 ソート時間の見積もり
- 2.4.2 バブルソートは遅くて使えない
- 2.4.3 クイックソートでも間に合わない
- 2.5 高速ソートを調査
- 第3章 ソート研究
- 3.1 基本型ソート
- 3.1.1 挿入ソート
- 3.1.2 選択ソート
- 3.1.3 交換ソート
- 3.2 改良型ソート
- 3.2.1 シェルソート
- 3.2.2 ヒープソート
- 3.2.3 クイックソート
- 3.3 比較しないソート
- 3.3.1 バケットソート
- 3.3.2 度数ソート
- 3.3.3 基数ソート
- 3.4 進化するソート
- 第4章 超最速ソート誕生
- 4.1 夢の中でヒント
- 4.1.1 比較しないソート
- 4.1.2 機械式ソート
- 4.1.3 ソート組み合わせ技
- 4.2 アイデアの原理
- 4.2.1 10進数2桁のソート
- 4.2.2 16進数2桁のソート
- 4.2.3 256進数2桁のソート
- 4.2.4 基数×度数ソート
- 4.3 究極を超えたソート誕生
- 4.4 アイデアで実現した
- 第5章 究極のソートとは
- 5.1 ダイレクトマップソート
- 5.2 概要説明
- 5.2.1 空間計算量
- 5.2.2 時間計算量
- 5.2.3 空間計算量の削減
- 5.2.4 ソートキーの拡張
- 5.3 プログラム構造
- 5.3.1 メイン部
- 5.3.2 度数分布作成
- 5.3.3 マップ作成
- 5.4 C++言語プログラムコード
- 第6章 アルゴリズムを選べ
- 6.1 新製品開発
- 6.2 たかがソート
- 6.3 されどソート
- 6.4 組み込み系では
- 6.5 クイックソートは速いか
- 6.6 ソートを選ぶ
- 6.7 軽量ソートで実現
- 第7章 どのソートが速いか
- 7.1 ソートの計算量
- 7.2 ソート時間の計測
- 7.2.1 計測方法
- 7.2.2 計測結果
- 7.3 ソート時間の結果
- 7.3.1 乱数データセットの計測結果
- 7.3.2 整列済みデータセットの計測結果
- 7.4 ソートアルゴリズムのまとめ
- おわりに
- 参考文献
- 索引
- 改訂履歴
- 著者紹介
- 著者書籍 一覧
- 奥付