這是一本介紹通過解決複雜謎題來學習編程的書,書中的代碼用Python語言編寫。與以往的編程書不同,本書將對代碼功能的理解與編程語言語法和語義的理解分離開來,從解每個謎題開始,先給出解謎題的演算法,隨後用Python語法和語義實現對應的演算法,並適當做出解釋。本書包含了21個謎題,其中很多謎題都廣為流傳,如多皇后、漢諾塔、在幾秒鐘內解決數獨問題、驗證六度分隔猜想等,每個謎題後面都配有不同難度的編程習題,幫讀者加深對相關演算法的理解。
本書在演算法謎題的趣味性和電腦編程的實用性之間搭建了一座橋樑,內容饒有趣味,講述易於理解,適合已掌握初級編程概念並對演算法感興趣的學習者閱讀和參考。