算法竞赛入门经典(第2版)

算法竞赛入门经典(第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2014-06
版次: 2
ISBN: 9787302356288
定价: 49.80
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 464页
字数: 794千字
正文语种: 简体中文
原版书名: 刘汝佳
2280人买过
  •   《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。

      《算法竞赛入门经典(第2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序设计竞赛(ACM/ICPC)的训练资料,也可作为IT工程师与科研人员的参考用书。   刘汝佳,1982年12月生,高中毕业于重庆市外国语学校。2000年3月获得NOI2000全国青少年信息学奥林匹克竞赛一等奖第四名,进入国家集训队,并因此保送到清华大学计算机科学与技术系。大一时获2001年ACM/ICPC国际大学生程序设计竞赛亚洲-上海赛区冠军和2002年世界总决赛银牌(世界第四),2005年获学士学位,2008年获硕士学位。

      学生时代曾为中国计算机学会NOI科学委员会学生委员,担任IOI2002-2008中国国家队教练,并为NOI系列比赛命题十余道。现为NOI竞赛委员会委员,并在NOI25周年时获得中国计算机学会颁发的“特别贡献奖”。

      2004年至今共为ACM/ICPC亚洲赛区命题二十余道,担任6次裁判和2次命题总监,并应邀参加IOI和ACM/ICPC相关国际研讨会,发表论文两篇。

      2004年初作为第1作者出版专著《算法艺术与信息学竞赛》,2009年出版译著《编程挑战》,2009年出版《算法竞赛入门经典》,2012年出版《算法竞赛入门经典——训练指南》。

      多年来在全国二十余个城市进行中学生竞赛培训工作,为北京、上海、吉隆坡等地的著名高校授课与宣讲,并多次与TopCoder、百度和网易有道等知名企业合作举办比赛,让更多的IT人才获得展示自我的平台。 第1部分语言篇

    第1章程序设计入门

    1.1算术表达式

    1.2变量及其输入

    1.3顺序结构程序设计

    1.4分支结构程序设计

    1.5注解与习题

    1.5.1C语言、C99、C11及其他

    1.5.2数据类型与输入格式

    1.5.3习题

    1.5.4小结

    第2章循环结构程序设计

    2.1for循环

    2.2while循环和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.3C语言对递归的支持

    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.1C++版框架

    5.1.2引用

    5.1.3字符串

    5.1.4再谈结构体

    5.1.5模板

    5.2STL初步

    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.3Huffman编码

    8.5算法设计与优化策略

    8.6竞赛题目选讲

    8.7训练参考

    第9章动态规划初步

    9.1数字三角形

    9.1.1问题描述与状态定义

    9.1.2记忆化搜索与递推

    9.2DAG上的动态规划

    9.2.1DAG模型

    9.2.2最长路及其字典序

    9.2.3固定终点的最长路和最短路

    9.2.4小结与应用举例

    9.3多阶段决策问题

    9.3.1多段图的最短路

    9.3.20-1背包问题

    9.4更多经典模型

    9.4.1线性结构上的动态规划

    9.4.2树上的动态规划

    9.4.3复杂状态的动态规划

    9.5竞赛题目选讲

    9.6训练参考

    第10章数学概念与方法

    10.1数论初步

    10.1.1欧几里德算法和唯一分解定理

    10.1.2Eratosthenes筛法

    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最小生成树

    11.2.1Kruskal算法

    11.2.2竞赛题目选解

    11.3最短路问题

    11.3.1Dijkstra算法

    11.3.2Bellman-Ford算法

    11.3.3Floyd算法

    11.3.4竞赛题目选讲

    11.4网络流初步

    11.4.1最大流问题

    11.4.2增广路算法

    11.4.3最小割最大流定理

    11.4.4最小费用最大流问题

    11.4.5应用举例

    11.5竞赛题目选讲

    11.6训练参考

    11.7总结与展望

    第12章高级专题

    12.1知识点选讲

    12.1.1自动机

    12.1.2树的经典问题和方法

    12.1.3可持久化数据结构

    12.1.4多边形的布尔运算

    12.2难题选解

    12.2.1数据结构

    12.2.2网络流

    12.2.3数学

    12.2.4几何

    12.2.5非完美算法

    12.2.6杂题选讲

    12.3小结与习题

    附录A开发环境与方法

    A.1命令行

    A.1.1文件系统

    A.1.2进程

    A.1.3程序的执行

    A.1.4重定向和管道

    A.1.5常见命令

    A.2操作系统脚本编程入门

    A.2.1Windows下的批处理

    A.2.2Linux下的Bash脚本

    A.2.3再谈随机数

    A.3编译器和调试器

    A.3.1gcc的安装和测试

    A.3.2常见编译选项

    A.3.3gdb简介

    A.3.4gdb的高级功能

    A.4浅谈IDE

    主要参考书目
  • 内容简介:
      《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。

      《算法竞赛入门经典(第2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序设计竞赛(ACM/ICPC)的训练资料,也可作为IT工程师与科研人员的参考用书。
  • 作者简介:
      刘汝佳,1982年12月生,高中毕业于重庆市外国语学校。2000年3月获得NOI2000全国青少年信息学奥林匹克竞赛一等奖第四名,进入国家集训队,并因此保送到清华大学计算机科学与技术系。大一时获2001年ACM/ICPC国际大学生程序设计竞赛亚洲-上海赛区冠军和2002年世界总决赛银牌(世界第四),2005年获学士学位,2008年获硕士学位。

      学生时代曾为中国计算机学会NOI科学委员会学生委员,担任IOI2002-2008中国国家队教练,并为NOI系列比赛命题十余道。现为NOI竞赛委员会委员,并在NOI25周年时获得中国计算机学会颁发的“特别贡献奖”。

      2004年至今共为ACM/ICPC亚洲赛区命题二十余道,担任6次裁判和2次命题总监,并应邀参加IOI和ACM/ICPC相关国际研讨会,发表论文两篇。

      2004年初作为第1作者出版专著《算法艺术与信息学竞赛》,2009年出版译著《编程挑战》,2009年出版《算法竞赛入门经典》,2012年出版《算法竞赛入门经典——训练指南》。

      多年来在全国二十余个城市进行中学生竞赛培训工作,为北京、上海、吉隆坡等地的著名高校授课与宣讲,并多次与TopCoder、百度和网易有道等知名企业合作举办比赛,让更多的IT人才获得展示自我的平台。
  • 目录:
    第1部分语言篇

    第1章程序设计入门

    1.1算术表达式

    1.2变量及其输入

    1.3顺序结构程序设计

    1.4分支结构程序设计

    1.5注解与习题

    1.5.1C语言、C99、C11及其他

    1.5.2数据类型与输入格式

    1.5.3习题

    1.5.4小结

    第2章循环结构程序设计

    2.1for循环

    2.2while循环和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.3C语言对递归的支持

    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.1C++版框架

    5.1.2引用

    5.1.3字符串

    5.1.4再谈结构体

    5.1.5模板

    5.2STL初步

    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.3Huffman编码

    8.5算法设计与优化策略

    8.6竞赛题目选讲

    8.7训练参考

    第9章动态规划初步

    9.1数字三角形

    9.1.1问题描述与状态定义

    9.1.2记忆化搜索与递推

    9.2DAG上的动态规划

    9.2.1DAG模型

    9.2.2最长路及其字典序

    9.2.3固定终点的最长路和最短路

    9.2.4小结与应用举例

    9.3多阶段决策问题

    9.3.1多段图的最短路

    9.3.20-1背包问题

    9.4更多经典模型

    9.4.1线性结构上的动态规划

    9.4.2树上的动态规划

    9.4.3复杂状态的动态规划

    9.5竞赛题目选讲

    9.6训练参考

    第10章数学概念与方法

    10.1数论初步

    10.1.1欧几里德算法和唯一分解定理

    10.1.2Eratosthenes筛法

    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最小生成树

    11.2.1Kruskal算法

    11.2.2竞赛题目选解

    11.3最短路问题

    11.3.1Dijkstra算法

    11.3.2Bellman-Ford算法

    11.3.3Floyd算法

    11.3.4竞赛题目选讲

    11.4网络流初步

    11.4.1最大流问题

    11.4.2增广路算法

    11.4.3最小割最大流定理

    11.4.4最小费用最大流问题

    11.4.5应用举例

    11.5竞赛题目选讲

    11.6训练参考

    11.7总结与展望

    第12章高级专题

    12.1知识点选讲

    12.1.1自动机

    12.1.2树的经典问题和方法

    12.1.3可持久化数据结构

    12.1.4多边形的布尔运算

    12.2难题选解

    12.2.1数据结构

    12.2.2网络流

    12.2.3数学

    12.2.4几何

    12.2.5非完美算法

    12.2.6杂题选讲

    12.3小结与习题

    附录A开发环境与方法

    A.1命令行

    A.1.1文件系统

    A.1.2进程

    A.1.3程序的执行

    A.1.4重定向和管道

    A.1.5常见命令

    A.2操作系统脚本编程入门

    A.2.1Windows下的批处理

    A.2.2Linux下的Bash脚本

    A.2.3再谈随机数

    A.3编译器和调试器

    A.3.1gcc的安装和测试

    A.3.2常见编译选项

    A.3.3gdb简介

    A.3.4gdb的高级功能

    A.4浅谈IDE

    主要参考书目
查看详情
相关图书 / 更多
算法竞赛入门经典(第2版)
算法构建论文层次学科分类体系的应用研究
耿海英
算法竞赛入门经典(第2版)
算法分析与设计实践
王小明
算法竞赛入门经典(第2版)
算法详解(卷4)——NP-Hard问题算法
[美]蒂姆·拉夫加登(Tim Roughgarden)
算法竞赛入门经典(第2版)
算法设计方法与优化(第2版)
滕国文;滕泰
算法竞赛入门经典(第2版)
算法详解 卷3 贪心算法和动态规划
[美]蒂姆·拉夫加登(Tim Roughgarden)
算法竞赛入门经典(第2版)
算法与数据结构(C++语言版)(第2版)
冯广慧
算法竞赛入门经典(第2版)
算法分析与设计
李少芳;卓明秀
算法竞赛入门经典(第2版)
算法设计与分析基础(Java版)(微课视频版)
李春葆;刘娟;喻丹丹
算法竞赛入门经典(第2版)
算法设计与分析基础(C++版)(微课视频版)
李春葆;陈良臣;喻丹丹
算法竞赛入门经典(第2版)
算法社会:技术、权力和知识(法律与科技译丛)
马克·舒伦伯格(Marc Schuilenburg)
算法竞赛入门经典(第2版)
算法设计实例教程
雷小宇
算法竞赛入门经典(第2版)
算法设计与分析基础(Java版)学习与上机实验指导
李春葆;刘娟;喻丹丹
您可能感兴趣 / 更多
算法竞赛入门经典(第2版)
花之绘
刘汝佳
算法竞赛入门经典(第2版)
算法竞赛入门经典——训练指南
刘汝佳 陈锋
算法竞赛入门经典(第2版)
水彩风景
刘汝佳
算法竞赛入门经典(第2版)
经典全集系列丛书水彩人物
刘汝佳 著;杨建飞 编
算法竞赛入门经典(第2版)
经典全集系列丛书:水彩花卉
刘汝佳 著;杨建飞 编
算法竞赛入门经典(第2版)
算法竞赛入门经典:训练指南
刘汝佳、陈锋 著
算法竞赛入门经典(第2版)
算法竞赛入门经典
刘汝佳 著
算法竞赛入门经典(第2版)
算法艺术与信息学竞赛
刘汝佳、黄亮 著