推荐序二
认识刘汝佳已有十多年的时间。2000年3月,我作为NOI(全国信息学奥林匹克)科学委员会委员赴澳门参加NOI2000的竞赛组织工作,正是在那届NOI上,刘汝佳以总分第四名的优异成绩获得NOI2000金牌并进入国家集训队。保送进入清华计算机系后,他又经选拔成为清华大学ACM队的主力队员,先后获得2001年ACM/ICPC(国际大学生程序设计竞赛)亚洲-上海赛区冠军和2002年世界总决赛的银牌(世界第四)。其后的多年时间里,他还同时担任NOI科学委员会的学生委员和IOI(国际信息学奥林匹克)中国国家队的教练。
2005-2007年,刘汝佳在清华计算机系读研期间,正逢我为本科生开设《数据结构》课程,他多次担任这门课程的助教工作。十多年来他几乎每年都受聘参加NOI冬令营的授课,并赢得听课选手的一致好评。
可以说,刘汝佳既是一名NOI和ACM/ICPC成绩优异的金牌选手,又是曾多年执教国家集训队的金牌教练,同时还作为在NOI冬令营等竞赛培训第一线参与授课培训最受欢迎的金牌教师。他在信息学奥赛方面的丰富经历与多重身份,特别是近20年来他对信息学奥赛的痴迷与执着,使得他对程序设计语言得心应手,对各种数据结构和算法的理解也颇有心得。这些都为他日后编写算法和编程竞赛的多部专著奠定了坚实的基础。
以信息学奥赛的应用为背景,将数据结构和算法的知识点讲解与信息学奥赛的问题求解紧密联系在一起,通过大量鲜活的奥赛解题实例让读者领悟到不同算法和数据结构的精妙,是刘汝佳教材的独到之处与鲜明特色。这也是国内大量单一身份的作者(课程教师)编写的教材所欠缺又无法企及的。我们通常看到的或者是单纯叙述算法与数据结构知识的普通教材,或者是专门针对竞赛题目的题解汇编,但真正既能涵盖算法竞赛的主要知识点,又融入大量比赛技巧和解题经验教训,且将二者融会贯通的教材实在是凤毛麟角。刘汝佳的教材在这方面或者可以说是填补了空白,至少也称得上是独树一帜,这也是许多作者心有余而力不足的。
从编排结构和写作特点上来说,刘汝佳的专著充分考虑不同层次的读者阅读需求,在《算法竞赛入门经典》中分为语言篇、基础篇和竞赛篇,循序渐进,既适合初学者,也适合高手进一步提升研读。特别是书中大量实用的示例代码和丰富的例题与习题,使各种水平的选手都能从他的书中获益并汲取营养,是有志在竞赛中取得佳绩的选手所必备的参考资料。
从刘汝佳的第一本专著《算法艺术与信息学竞赛》问世至今刚好十年时间。其间,在读者好评如潮和高于市场预期的销量面前,刘汝佳并没有就此止步,而是搜集信息学竞赛选手的各种需求,对已出版的教材进行更多有益的尝试。在繁忙的工作之余仍能挤出时间笔耕不辍,这也从一个侧面反映了他的勤奋刻苦、不懈进取以及对信息学奥赛的执着追求。我们为国内信息学奥赛领域有汝佳这样优秀的专家学者感到庆幸。中国计算机学会2009年为他颁发的“特别贡献奖”实至名归。
今年正值邓小平同志提出“计算机的普及要从娃娃抓起”和全国信息学奥林匹克创办30周年,刘汝佳的新版专著为这一历史时刻增光添彩。我们期待信息学奥赛领域有更多更好的教材专著问世。让一切与信息学奥赛相关的劳动、知识、技术、管理和资本的活力竞相迸发,让一切与信息学奥赛创新改革的源泉充分涌流。让我们共同努力,谱写全国信息学奥林匹克的新篇章。
全国信息学奥林匹克(NOI)科学委员会主席
清华大学计算机科学与技术系
王宏