内容紹介
単純で判りやすい仕様から出発し、効率的なコードを導く、珠玉の30問
探索、木、有効グラフ、文字列照合、パズル、計算幾何、算術符号、組合せ論的問題、……。
さまざまな問題に対するアルゴリズムには、その背景に興味深い考え方が隠されています。
本書では、それらをHaskellのコードとして書き出し、そこから効率の良いプログラムを導出していきます。
関数プログラミングの真価の1つともいえる仕様からの等式論証を魅力的な例題により追及した“Pearls of Functional Algorithm Design”の翻訳書です。
このような方におすすめ
・「関数プログラミングの楽しみ」読者
・先進的なプログラマ(を目指す人)
目次
主要目次
第1章 最小自由数
第2章 上位者問題
第3章 鞍型探索の改良
第4章 選択問題
第5章 組和の整列
第6章 小町算
第7章 最小高さ木の構造
第8章 分解の貪欲アルゴリズム
第9章 セレブを探せ
第10章 重複の除去
第11章 最大非連続部分列和
第12章 接尾辞ランキング
第13章 Burrows-Wheeler変換
第14章 最後の接尾辞
第15章 すべての共通接頭辞
第16章 Boyer-Mooreのアルゴリズム
第17章 Knuth-Morris?Pratt アルゴリズム
第18章 プランニングで解く「ラッシュアワー」問題
第19章 単純な数独ソルバー
第20章 「カウントダウン」問題
第21章 ハイロモルフィズムとネクサス
第22章 行列式の3つの計算法
第23章 凸包の内側
第24章 有理算術符号
第25章 整数算術符号
第26章 Schorr-Waite アルゴリズム
第27章 順挿入
第28章 ループレス関数アルゴリズム
第29章 Johnson-Trotter アルゴリズム
第30章 クモの巣かけ初歩の初歩