这是一本介绍通过解决复杂谜题来学习编程的书,书中的代码用Python语言编写。与以往的编程书不同,本书将对代码功能的理解与编程语言语法和语义的理解分离开来,从解每个谜题开始,先给出解谜题的算法,随后用Python语法和语义实现对应的算法,并适当做出解释。本书包含了21个谜题,其中很多谜题都广为流传,如多皇后、汉诺塔、在几秒钟内解决数独问题、验证六度分隔猜想等,每个谜题后面都配有不同难度的编程习题,帮读者加深对相关算法的理解。
本书在算法谜题的趣味性和计算机编程的实用性之间搭建了一座桥梁,内容饶有趣味,讲述易于理解,适合已掌握初级编程概念并对算法感兴趣的学习者阅读和参考。