序言
电子计算机的出现是20世纪最有影响的一件大事,它改变了整个世界的面貌,人们几乎无处不感到它的存在.哪个领域如果至今还宣称它与计算机线性无关,十之八九它已落后了.电子计算机使各种难题得以解决,但也萌生出更多的相关理论问题,在这种刺激和影响下,组合数学新军突起,一跃而成为最活跃的新数学分支,虽然它所讨论的问题和所使用的工具有的可追溯到二百多年前.有的组合学家将“计算机科学”定义为研究算法的科学,它为组合数学提供了活动的空间和舞台.组合数学(分析)是算法的理论基础,它与算法的关系犹如数学分析与计算方法的关系.作者认为这门课实际上是为学习“算法与复杂性分析”做理论知识的准备.图论本是这个家族的主要成员,由于它已成长壮大,现已独立出去.
组合数学来源于实际,不少的讨论引人入胜,但初学者也往往有犯难的感觉.其实之所以觉得难,是因为还没弄懂,一旦明白了,则会恍然大悟而兴趣盎然.如果说学这门课有什么窍门,那就是从实际情况出发,以规模小的问题,模拟“沙盘推演”,寻找其规律性,然后推广及一般.
作者在实践中常有这样的体会:组合数学欲留给读者以和善可亲的形象,相比板着冷峻的面孔,要困难得多.解决方法是求助于实例.如果说法则是支撑肢体的框架,那么它将因丰富多彩的例子而丰满.本书在这方面,不论质和量都是一个亮点.不少问题饶有趣味,我们也常常为之而上下求索.第5版将依据作者近几年各自在教学实践中的经验,以怎样使读者更易接受作为出发点.
前面已提到这门课是为“算法与复杂性分析”所做的理论知识的准备,作者经验认为,计算机相关专业的本科生和研究生在学习第1~3章后继续学习第6~7章是一个不错的主意,以免有“空返”之憾.其他专业的学生则请酌情处理.
作者