资源简介
《算法竞赛入门经典》是一本算法竞赛的入门教材,把C/C++语言、算法和解题有机地结合在了一起,淡化理论,注重学习方法和实践技巧。全书内容分为11章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、基础题目选解、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法,覆盖了算法竞赛入门所需的主要知识点,并附有大量习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧。另外,书中包含的各种开发、测试和调试技巧也是在传统的语言、算法类书籍中难以见到的。
《算法竞赛入门经典》可作为全国青少年信息学奥林匹克联赛(NOIP)的复赛教材及ACM国际大学。
作者简介/出版社简介
刘汝佳,1982年12月生,高中毕业于重庆市外国语学校。
2000年3月获得NOI2000全国青少年信息学奥林匹克竞赛一等奖第四名,进入国家集训队,并因此保送到清华大学计算机科学与技术系。大一时获2001年ACM/ICPC国际大学生程序设计竞赛亚洲一上海赛区冠军和2002年世界总决赛银牌(世界第四),2005年获学士学位,2008年获硕士学位。
目录
{目录}
第1部分 语言篇 |
纯碎介绍语言,几乎不涉及算法,但逐步引入一些工程性的东西,如测试、断言、伪代码和迭代开发等。[1] |
第1章 程序设计入门1 |
1.1 算术表达式 |
1.2变量及其输入 |
1.3顺序结构程序设计 |
1.4分支结构程序设计 |
1.5 小结与习题 |
第2章循环结构程序设计16 |
2.1for循环 |
2.2循环结构程序设计 |
2.3文件操作 |
2.4小结与习题 |
第3章 数组和字符串33 |
3.1 数组 |
3.2 字符数组 |
3.3 最长回文子串 |
3.4 小结与习题 |
第4章 函数和递归51 |
4.1 数学函数 |
4.2 地址和指针 |
4.3 递归 |
4.4 小结与习题 |
第2部分 算法篇 |
在介绍算法的同时继续强化语言,补充了第1部分没有涉及的语言特性,如位运算、动态内存管理等,并延续第一部分的风格,在需要时引入更多的思想和技巧。学习完前两部分的读者应当可以完成相当数量的练习题。[1] |
第5章 基础题目选解69 |
5.1字符串 |
5.2 高精度运算 |
5.3排序与检索 |
5.4 数学基础 |
5.5 训练参考 |
第6章 数据结构基础89 |
6.1栈和队列 |
6.2链表 |
6.3二叉树 |
6.4 图 |
6.5 训练参考 |
第7章 暴力求解法114 |
7.1 简单枚举 |
7.2枚举排列 |
7.3子集生成 |
7.4 回溯法 |
7.5 隐式图搜索 |
7.6 训练参考 |
第8章 高效算法设计138 |
8.1 算法分析初步 |
8.2 再谈排序与检索 |
8.3递归与分治 |
8.4分支 |
8.5 训练参考 |
第3部分 竞赛篇 |
涉及竞赛中常用的其他知识点和技巧。和前两部分相比,第3部分涉及的内容更加广泛,其中还包括一些难以理解的“学术内容”,但其实这些才是算法的精髓。[1] |
第9章 动态规划初步158 |
9.1 数字三角形 |
9.2DAG上的动态规划 |
9.3 0-1背包问题 |
9.4 递归结构中的动态规划 |
9.5 集合上的动态规划 |
9.6 训练参考 |
第10章 数学概念与方法176 |
10.1数论初步 |
10.2排列与组合 |
10.3递推关系 |
10.4 训练参考 |
第11章 图论模型与算法196 |
11.1 再谈树 |
11.2 最短路问题 |
11.3网络流初步 |
11.4 进一步学习的参考 |
11.5 训练参考 |
附录 |
介绍开发环境和开发方法,虽然它们和语言、算法的关系都不大,却往往能极大地影响选手的成绩。 |
链接:http://pan.baidu.com/s/1dFFXTj7
页:
[1]