プログラミング・コンテスト・チャレンジブック、第2版、2012
表紙に蟻が描かれているので「蟻本」とも呼ばれる

ほとんど全てのアルゴリズムを網羅。
問題数も多く、パズル感覚で楽しめる。
AIやシミュレーションゲームの参考になる

言語は、g++用のC++。
初心者は、初級の問題しか解けないと思う。
初級では、動的計画法・ナップサックなど

中級ではネットワークフロー、上級ではグラフも出てくるから、
図を描いて、じっくり考えないと分からない。
何年か掛けて、勉強する本

TopCoder, Google Code Jam(GCJ), PKU OnlineJudge(POJ),
会津大学のAIZU ONLINE JUDGE(AOJ) などから、
3人の大学院生が、よくこれだけ良問を集めたなと感心した

セジウィックも読んだけど、
やっぱり蟻本・石畑清・川中真耶など、日本人の本の方がわかりやすい

R・セジウィックの20年前のアルゴリズムC++の本を見たら、
2分木の回転については、10行ほどしか載っていなかった。
蟻本にも、2分木の回転・平衡化は載っていない

オライリーの「入門 データ構造とアルゴリズム」には、
AVL木の回転について、図入りの説明が載っていた

でも赤黒木を詳細に説明した本は無い
Linuxのタスクディスパッチで使っているのに