Комбинаторные алгоритмы для программистов

Смотрите Раковины на сайте.