《惠典正版算法竞赛入门经典第二版+训练指南+习题与解答87Y28+》无著【摘要 书评 在线阅读】

您所在的位置:网站首页 编程入门教科书 《惠典正版算法竞赛入门经典第二版+训练指南+习题与解答87Y28+》无著【摘要 书评 在线阅读】

《惠典正版算法竞赛入门经典第二版+训练指南+习题与解答87Y28+》无著【摘要 书评 在线阅读】

2023-03-29 08:42| 来源: 网络整理| 查看: 265

  《算法竞赛入门经典》第1版出版至今已有四个年头。这四年间发生了很多变化,如NOI系列比赛终于对STL“解禁”,如C11和C++11标准出台,g++编译器升级(直接导致本书第1版中官方使用的运算符无法编译通过),如《算法竞赛入门经典--训练指南》的出版弥补了本书第1版的很多缺憾,再如ACM/ICPC的蓬勃发展,使更多的大学生了解并参与到了算法竞赛中来……  看来,是时候给本书“升级”了。  主要的变化  我原本打算只是增加一章专门介绍C++和STL,用符合新语言规范的方式重写部分代码,顺便增加一些例题和习题,没想到一写就是100页--几乎让书的篇幅翻了一倍。写作第1版时,220页的篇幅是和诸位一线中学教师商量后定下来的,因为书太厚会让初学者望而生畏。不过这几年的读者反馈让我意识到:由于篇幅限制,太多的东西让读者意犹未尽,还不如多写点。虽然之后出版了《算法竞赛入门经典--训练指南》,但那本书的主要目标是补充知识点,即拓展知识宽度,而我更希望在知识宽度几乎不变的情况下增加深度--我眼中的竞赛应该主要比思维和实践能力,而不是主要比见识。  索性,我继续加大篇幅,用大量的例子(包括题目和代码)来表现我想向读者传达的信息。一位试读的朋友在收到第一份书稿片段时惊呼:“题目的质量比第1版提高太多了!”这正是我这次改版的主要目的。  具体来说,这次改版有以下变化:  □在前4章中逐步介绍一些更实用的语言技巧,直接使用竞赛题目作为例子。  □全新的第5章,讲解竞赛中常用的C++语法,包括STL算法和容器。  □第6~7章作为基础篇,加大代码和技巧的比例,并适当增加例题。  □第8~11章作为中级篇,增加了各种例题,着重锻炼思维能力。  □全新的第12章作为高级篇,在《算法竞赛入门经典--训练指南》的基础上补充少量知识点与大量精彩例题。  需要特别说明的是第12章出现的原因。这一章的内容很难,而且要求读者熟练掌握《算法竞赛入门经典--训练指南》的主要内容,看起来和“入门”二字是矛盾的。其实本书虽然名为“入门经典”,实际上却不仅只适合入门读者。根据这几年读者反馈的情况来看,有相当数量的有经验的选手也购买了本书。原因在于:很多有经验的选手属于“自学成才”,总觉得自己可能会漏掉点什么基础知识。事实也是如此:本书中提到的很多代码和分析技巧是传统教科书中见不到的,对于很多有经验的选手来说也是“新鲜事物”,并且他们能比初学者更快、更好地把这些知识运用到比赛中去。本书第12章就是为这些读者准备的。如果这样解释还不够直观,就把第12章作为一个游戏里通关后多出来的Hard模式吧!  阅读说明  既然内容有了较大变化,阅读方式也需要再次说明一下。首先,和本书第1版一样,本书是有人带着学习,如老师、教练或者学长。随着网络的发展,这个条件越来越容易满足了--就算是没人指导,也可以在别人的博客中留言,或者在贴吧中寻求帮助。  一定要重视书中的“提示”。书中有很多“提示”部分都是非常重要的知识点或者技巧,有些提示看似平凡无奇,但如果没有引起重视而导致赛场上丢分,可是会追悔莫及的。  接下来是关于新增第5章的。首先声明一点,这一章并不是C++语言速成--C++语言是不可能速成的。这一章不是说你从头读到尾然后就掌握C++了,而是提供一个纲要,告诉你哪些东西是算法竞赛中常用的,以及这些东西应当如何使用。你可以先另外找一本书(或者阅读网上的文章)学习C++,然后再看本书第5章(目的是把那些又容易晕又不那么有用的知识从脑子里删除),也可以直接看本书第5章,每次遇到看不懂或者觉得不够详细的地方,再找其他参考书来学。顺便说一句,就算你已经非常熟悉C++了,也浏览一下第5章(特别是代码!)。这不会花费太多时间,但很可能学到有用的东西。  忍不住再说点题外话。有时学习算法的好方法并不是编写程序,而是手算。“手算”这个词听上去有点枯燥,改成“玩游戏”如何?如《雷顿教授与不可思议的小镇》就是一个不错的选择--它包含了过河问题(谜题7、93)、找砝码(谜题6、131)、一笔画(谜题30、39)、n皇后(谜题80~83,130)、倒水问题(谜题23、24、78)、幻方(谜题95)、华容道(谜题97、132、135)等诸多经典问题。  致谢  虽然多出来了200多页,其实本书的改版工作并没有花费太长时间(不到半年),在此期间也没有麻烦太多朋友读稿和讨论。参与本书第2版读稿和校对工作的几位朋友分别是:陈锋(第8~11章)、王玉斌(第8~9章,第12章)、郭云镝(第12章)、曹海宇(第5章、第9章)、陈立杰(第12章)、叶子卿(第12章)、周以凡(第12章)。  感谢给我发邮件以及在googlecode的wiki中留言指出本书第1版勘误的网友们:imxivid、zr95。vip、李智维、王玉、chnln0526、yszhou4tech、metowolf88、zhongying822、chong97993、tplee923、wtx20074587、chu。pang等,你们的支持和鼓励是我写作的重要动力。  另外,书中部分难题的题解离不开以下朋友的赐教和讨论:Md。Mahbubul Hasan、Shahriar Manzoor、Derek Kisman、Per Austrin、Luis Garcia、顾昱洲、陈立杰、张培超等。  第2版的习题全部(这次不仅仅是“主要”了)来自UVa在线评测系统,感谢Miguel Revilla教授、他的儿子Miguel Jr。和Carlos M。 Casas Cuadrado对本书的大力支持。  最后,再次感谢清华大学出版社的朱英彪编辑在这个恰当的时机提出改版事宜,并容忍我把交稿时间一拖再拖。希望这次改版不会让你失望。  刘汝佳



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3