首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

信息学奥赛入门进阶书籍有哪些?推荐这几本书!

人工智能产业的发展已上升为国策,而相关技术人才却存在着巨大的缺口。2017年7月,国务院刊发《新一代人工智能规划》,《规划》重点强调了要在中小学开展人工智能课程,推广编程教育。2018年教育部颁布信息技术《新课标》,已将“算法编程”(信息学竞赛内容)列为高中必修课内容,2019年秋季开始执行。

信息学是一门以算法编程为核心内容的学科,对学生的智力与计算机应用能力都有极高的挑战。它的学习对于提高学生的观察能力、分析能力、数学建模能力,以及创造性、严谨性的提升都有极大的帮助。

五大学科竞赛2018年获得省一及以上奖项共8000多人,其中信息学竞赛一等奖人数共计3191名,占比超过1/3,远高于数学竞赛的1579名,从获奖人数上属于第一。这一数据表明,通过信息学竞赛获得保送资格是高中最为理智的选择。

今天小助就和大家聊聊,入门学习信息学应该从哪些书籍入手。

入门

01:《中学生计算机程序设计》(CCF)

本书分为入门篇,基础篇。入门篇介绍了代码开发环境(Dev-C++),数据的输入输出,涉及程序执行的语法和数组。基础篇介绍了函数,字符串处理,结构,联合,指针,文件等语法,并且介绍了线性表,队列,堆栈等数据结构和简单的算法。

该系列教材内容通俗易懂、内容全面、讲解细致,对于零基础学生,尤其是小学生来说,是进入信息学奥赛学习很不错的入门书。缺点就是代码风格有不一致的地方。

进阶

01:《算法竞赛入门经典》第二版(刘汝佳)

本书的讲解并不是很多,但例题非常丰富(全部来源于国外OJ UVa)。每章以典型例题的方式讲述了在竞赛中常用的各种算法,并毫不吝啬的介绍了很多在编程老手中间秘而不宣的编程及技巧。

相对于前作,作者吸取了例题和习题难度太大,不易上手的缺点,这次改版分三本成系列出版,大大平滑了学习曲线。

由于本书不侧重于语法,对C语言中的指针、结构体、string类只是一笔带过,所以小助认为本书不适合毫无编程基础的人读,前提是需要会使用C语言,当然有一定的算法基础更好,学习体验将大大提升。

02:《挑战程序设计竞赛》

要是刘汝佳老师的书读起来比较吃力,可以试试这本书。

1. 代码质量高,清晰易懂,格式优美,注释恰到好处。如果讲解有点难懂,可以试着直接去读代码,也许就能想通很多细节问题。

2. 循序渐进,内容丰富。刘汝佳的《算法竞赛入门经典》,前半本书几乎不涉及算法,节奏太慢,后半节奏又太快,对自学者不甚友好。相比较来看,这本书学习曲线就比较平缓。

3. 例题丰富且代表性强。大部分例题来自 POJ,可以直接在 POJ 上 AC,这些例题几乎每道都能代表一个重要的解题策略或题型,如在动态规划部分每道例题都值得细细咀嚼。而在图最短路部分例题中出现的差分约束系统也是非常重要的思想。

4. 练习题丰富且针对性强。练习题几乎都有例题的同类型题,要么是直接换换数据,要么是增强了条件,综合题也不少。

5. 理论讲解有当。作者并不会陷入证明细节,只是指出证明思路。

03:《算法竞赛进阶指南》(李煜东)

本书面向已经掌握至少一门程序设计语言、对于算法设计有入门性认识的读者,以各类知识点之间的贯穿联系为主线,通过各种模型与例题对各种思维方向进行引导。本书讲解也很细致、独到,例题也很丰富。不过阅读本书需要有一定写代码的经验,因为本书没有传授于读者以写第一份代码。

小助问答:你有哪些推荐的好书或者不推荐哪几本,在留言区同大家一起分享啊!

本文源自知乎、豆瓣整理编辑,如有侵权请联系删除。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190829A0Q3WQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券