| 算法竞赛入门经典(第二版)+训练指南+习题与解答 | ||
| 定价 | 172.40 | |
| 出版社 | 清华大学出版社 | |
| 版次 | 2 | |
| 出版时间 | 2014年06月 | |
| 开本 | 16开 | |
| 作者 | 刘汝佳 | |
| 装帧 | 平装 | |
| 页数 | 464 | |
| 字数 | 794000 | |
| ISBN编码 | 9787302356288 9787302291077 9787302476580 | |
| 重量 | ||
新版已上市:《算法竞赛入门经典(第2版)》
如果你是一名程序员,如果你参加NOIP、NOI、ACM/ICPC竞赛,只要你对算法感兴趣,那就来吧!就是这本被很多程序员所喜爱、被大量学校广泛作为教材的算法竞赛经典之作!
算法竞赛入门经典一书全新改版,页码翻倍,奇葩?非也,这是因为:
◆第一版内容太少,让人感觉意犹未尽。
◆有些内容有点过时,需要与时俱进。
◆C++的介绍太少,例题太少,学有余力的同学在入门完之后有些迷茫。
此次改版就是针对这些不足,所以很让人期待!
《算法竞赛入门经典》第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对本书的大力支持。
最后,再次感谢清华大学出版社的朱英彪编辑在这个恰当的时机提出改版事宜,并容忍我把交稿时间一拖再拖。希望这次改版不会让你失望。
刘汝佳
“算法艺术与信息学竞赛”这本书,我感觉它提供了一个更高的视角来看待算法竞赛。它不像前两本那样,侧重于具体算法的讲解和练习,而是更偏向于对整个信息学竞赛的理解和战略性指导。作者在书中分享了很多关于竞赛的经验,比如如何制定学习计划,如何提高解题效率,以及在比赛中如何调整心态等等。这些内容对于我来说,是非常宝贵的。我印象比较深的是关于“思考的艺术”那部分,作者强调了不仅仅是掌握算法,更重要的是学会如何思考问题,如何将算法巧妙地运用到实际问题中。这让我意识到,算法竞赛并不仅仅是死记硬背,更是一种思维的训练。书中的一些案例分析也非常有启发性,通过分析一些经典的竞赛题目,展示了如何从不同的角度去思考和解决问题。虽然这本书的难度比前两本要高一些,但它带给我的启发是巨大的,让我对算法竞赛有了更深层次的认识,也对自己的学习方向有了更清晰的规划。
评分我购买这套书的时候,其实已经接触了一些算法基础,所以《算法竞赛入门经典(第二版)》对我来说,更多的是一种系统的梳理和补充。我特别欣赏它对一些经典算法的深入剖析,比如动态规划,我之前学的时候总是感觉云里雾里,看完这本书,对状态转移方程的理解清晰了很多。书里的图解也很形象,帮助我更好地理解那些抽象的概念。而且,作者在讲解过程中,会不断提醒我们注意一些细节和陷阱,这对于避免在实际做题时犯低级错误非常有帮助。我最喜欢的是它的“思考模式”部分,作者会引导我们如何去分析一个问题,如何将其分解成更小的子问题,以及如何选择合适的算法。这种思维方式的培养,比单纯学习算法本身更有价值。虽然我还没有把所有的题目都做完,但每一次翻开这本书,都能学到新的东西,都能获得新的启发,感觉自己的算法功底在不断地扎实。
评分我当初买这套书的时候,主要是冲着“算法竞赛入门经典”这个名字来的,想着作为新手,一定得从经典入门。拿到手后,沉甸甸的几大本,确实很有分量。内容上,虽然我还没有全部啃下来,但不得不说,第一本《算法竞赛入门经典(第二版)》讲解得是相当细致的。作者在讲解每个算法的时候,都会从最基本的原理讲起,然后逐步深入到优化和应用。我印象最深刻的是关于图论的部分,以前觉得图论好难,看了这本书之后,虽然还有些地方需要反复琢磨,但至少有了清晰的脉络,不再像无头苍蝇一样。书里的例题也很有代表性,很多都是经典的竞赛题目,虽然有些题目对我来说还有点挑战,但看着答案一步步分析,真的能学到很多解题思路。而且,书中还穿插了一些关于竞赛技巧和注意事项的讨论,这对于我这种初学者来说,非常有指导意义。这本书的排版也很舒服,代码清晰,注释也很到位,这一点我很喜欢。我感觉这本书确实为我打下了坚实的基础,让我对算法的世界有了更深的认识,也更有信心去挑战更难的问题了。
评分这套书的“训练指南”和“习题与解答”部分,我感觉是检验学习成果的最佳拍档。当你感觉在“入门经典”里学到的知识点有些消化不良时,翻翻习题集,你会发现很多似曾相峙的题目。一开始做的时候,确实有点抓瞎,感觉书上的例题好像懂了,但自己做起来就卡壳了。不过,最赞的是它的“习题与解答”部分,真的是非常详细,不仅给出了代码,还对解题思路进行了深入的分析,有时候甚至会提供多种解法,分析不同解法的优劣。这对于我这种喜欢刨根问底的学习者来说,简直是宝藏。我尤其喜欢那些“卡点分析”的部分,作者会指出初学者容易犯的错误,或者在哪个环节容易卡住,然后给出建议。这样一来,我就能更有针对性地去复习和练习,而不是盲目地刷题。而且,配套的训练指南也很不错,它会根据不同的算法类型,提供一些进阶的训练题,帮助我巩固和拓展所学的知识。总的来说,这两本书就像是我的私人教练,指导我一步步提升。
评分总体而言,这套书的价值在于它的全面性和系统性。从入门到进阶,再到对竞赛本身的理解,几乎涵盖了一个算法竞赛学习者所需要的大部分内容。我特别喜欢它对“实战”的强调,书中大量的例题和习题,都是经过精心挑选的,能够很好地反映出算法在实际竞赛中的应用。而且,不同难度等级的题目,也满足了不同水平的学习者的需求。对我而言,最大的收获是它建立了我学习算法的信心。以前总觉得算法竞赛高不可攀,但通过这本书,我发现只要掌握了正确的方法,一步一个脚印,也能取得不错的进步。虽然我还有很多不足,还有很多题目没有攻克,但至少我找到了方向,也找到了陪伴我一起成长的“导师”。这套书不仅仅是知识的传递,更是一种学习精神的塑造,让我更加热爱算法,也更加享受解决问题的过程。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.qciss.net All Rights Reserved. 图书大百科 版权所有