- ISBN:9787302356288
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:464
- 出版时间:2014-06-02
- 条形码:9787302356288 ; 978-7-302-35628-8
内容简介
本书是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。 本书可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序设计竞赛(ACM/ICPC)的训练资料,也可作为IT工程师与科研人员的参考用书。
目录
第1章 程序设计入门
1.1 算术表达式
1.2 变量及其输入
1.3 顺序结构程序设计
1.4 分支结构程序设计
1.5 注解与习题
1.5.1 C语言、C99、C11及其他
1.5.2 数据类型与输入格式
1.5.3 习题
1.5.4 小结
第2章 循环结构程序设计
2.1 for循环
2.2 while循环和do-while循环
2.3 循环的代价
2.4 算法竞赛中的输入输出框架
2.5 注解与习题
2.5.1 习题
2.5.2 小结
第3章 数组和字符串
3.1 数组
3.2 字符数组
3.3 竞赛题目选讲
3.4 注解与习题
3.4.1 进位制与整数表示
3.4.2 思考题
3.4.3 黑盒测试和在线评测系统
3.4.4 例题一览与习题
3.4.5 小结
第4章 函数和递归
4.1 自定义函数和结构体
4.2 函数调用与参数传递
4.2.1 形参与实参
4.2.2 调用栈
4.2.3 用指针作参数
4.2.4 初学者易犯的错误
4.2.5 数组作为参数和返回值
4.2.6 把函数作为函数的参数
4.3 递归
4.3.1 递归定义
4.3.2 递归函数
4.3.3 C语言对递归的支持
4.3.4 段错误与栈溢出
4.4 竞赛题目选讲
4.5 注解与习题
4.5.1 头文件、副作用及其他
4.5.2 例题一览和习题
4.5.3 小结
第5章 C++与STL入门
5.1 从C到C++
5.1.1 C++版框架
5.1.2 引用
5.1.3 字符串
5.1.4 再谈结构体
5.1.5 模板
5.2 STL初步
5.2.1 排序与检索
5.2.2 不定长数组:vector
5.2.3 集合:set
5.2.4 映射:map
5.2.5 栈、队列与优先队列
5.2.6 测试STL
5.3 应用:大整数类
5.3.1 大整数类BigInteger
5.3.2 四则运算
5.3.3 比较运算符
5.4 竞赛题目举例
5.5 习题
第2部分 基础篇
第6章 数据结构基础
6.1 再谈栈和队列
6.2 链表
6.3 树和二叉树
6.3.1 二叉树的编号
6.3.2 二叉树的层次遍历
6.3.3 二叉树的递归遍历
6.3.4 非二叉树
6.4 图
6.4.1 用DFS求连通块
6.4.2 用BFS求*短路
6.4.3 拓扑排序
6.4.4 欧拉回路
6.5 竞赛题目选讲
6.6 训练参考
第7章 暴力求解法
7.1 简单枚举
7.2 枚举排列
7.2.1 生成1~n的排列
7.2.2 生成可重集的排列
7.2.3 解答树
7.2.4 下一个排列
7.3 子集生成
7.3.1 增量构造法
7.3.2 位向量法
7.3.3 二进制法
7.4 回溯法
7.4.1 八皇后问题
7.4.2 其他应用举例
7.5 路径寻找问题
7.6 迭代加深搜索
7.7 竞赛题目选讲
7.8 训练参考
第3部分 竞赛篇
第8章 高效算法设计
8.1 算法分析初步
8.1.1 渐进时间复杂度
8.1.2 上界分析
8.1.3 分治法
8.1.4 正确对待算法分析结果
8.2 再谈排序与检索
8.2.1 归并排序
8.2.2 快速排序
8.2.3 二分查找
8.3 递归与分治
8.4 贪心法
8.4.1 背包相关问题
8.4.2 区间相关问题
8.4.3 Huffman编码
8.5 算法设计与优化策略
8.6 竞赛题目选讲
8.7 训练参考
第9章 动态规划初步
9.1 数字三角形
9.1.1 问题描述与状态定义
9.1.2 记忆化搜索与递推
9.2 DAG上的动态规划
9.2.1 DAG模型
9.2.2 *长路及其字典序
9.2.3 固定终点的*长路和*短路
9.2.4 小结与应用举例
9.3 多阶段决策问题
9.3.1 多段图的*短路
9.3.2 0-1背包问题
9.4 更多经典模型
9.4.1 线性结构上的动态规划
9.4.2 树上的动态规划
9.4.3 复杂状态的动态规划
9.5 竞赛题目选讲
9.6 训练参考
第10章 数学概念与方法
10.1 数论初步
10.1.1 欧几里德算法和唯一分解定理
10.1.2 Eratosthenes筛法
10.1.3 扩展欧几里德算法
10.1.4 同余与模算术
10.1.5 应用举例
10.2 计数与概率基础
10.2.1 杨辉三角与二项式定理
10.2.2 数论中的计数问题
10.2.3 编码与解码
10.2.4 离散概率初步
10.3 其他数学专题
10.3.1 递推
10.3.2 数学期望
10.3.3 连续概率
10.4 竞赛题目选讲
10.5 训练参考
第11章 图论模型与算法
11.1 再谈树
11.1.1 无根树转有根树
11.1.2 表达式树
11.2
作者简介
刘汝佳,2000年3月获得NOI2000全国青少年信息学奥林匹克竞赛一等奖。大一时获2001年ACM/ICPC国际大学生程序设计竞赛亚洲-上海赛区冠军和2002年世界总决赛银牌。2004年至今共为 ACM/ICPC亚洲赛区命题二十余道,担任6次裁判和2次命题总监,并应邀参加IOI和ACM/ICPC相关国际研讨会。曾出版《算法竞赛入门经典》《算法竞赛入门经典——训练指南》《编程挑战》等畅销书。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0