4164773|包邮现货算法竞赛入门经典(第2版)/算法艺术与信息学竞赛/程序设计入门与提高/教程教材辅导/清华大学出版书籍.
- 产品名称:算法竞赛入门
- 书名:算法竞赛入门
- 出版时间:2014年6月
- 定价:49.80元
- 是否是套装:否
- 正:副书名:算法竞赛入门经典
书名: | 【正版】算法竞赛入门经典(第2版)|(咨询特价) |
图书定价: | 49.(咨询特价) |
图书作者: | 刘汝佳 |
出版社: | 清华大学出版社 |
出版日期: | 2014/6/1 0:(咨询特价) |
ISBN号: | (咨询特价) |
开本: | 16开 |
页数: | 464 |
版次: | 2-1 |
作者简介 |
刘汝佳,1982年12月生,高中毕业于重庆市外国语学校。2000年3月获得NOI2000全国青少年信息学奥林匹克竞赛一等奖第四名,进入国家集训队,并因此保送到清华大学计算机科学与技术系。大一时获2001年ACM/ICPC国际大学生程序设计竞赛亚洲-上海赛区冠军和2002年世界总决赛银牌(世界第四),2005年获学士学位,2008年获硕士学位。 学生时代曾为中国计算机学会NOI科学委员会学生委员,担任IOI2002-2008中国国家队教练,并为NOI系列比赛命题十余道。现为NOI竞赛委员会委员,并在NOI 25周年时获得中国计算机学会颁发的“特别贡献奖”。 2004年至今共为ACM/ICPC亚洲赛区命题二十余道,担任6次裁判和2次命题总监,并应邀参加IOI和ACM/ICPC相关国际研讨会,发表论文两篇。 2004年初作为第一作者出版专著《算法艺术与信息学竞赛》,2009年出版译著《编程挑战》,2009年出版《算法竞赛入门经典》,2012年出版《算法竞赛入门经典——训练指南》。 多年来在全国二十余个城市进行中学生竞赛培训工作,为北京、上海、吉隆坡等地的著名高校授课与宣讲,并多次与TopCoder、百度和网易有道等知名企业合作举办比赛,让更多的IT人才获得展示自我的平台。 |
内容简介 |
《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。 《算法竞赛入门经典(第2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序设计竞赛(ACM/ICPC)的训练资料,也可作为IT工程师与科研人员的参考用书。 |
目录 |
《算法竞赛入门经典(第2版)》 第1部分语言篇 第1章程序设计入门1 1.1算术表达式1 1.2变量及其输入3 1.3顺序结构程序设计6 1.4分支结构程序设计9 1.5注解与习题13 1.5.1C语言、C99、C11及其他13 1.5.2数据类型与输入格式14 1.5.3习题15 1.5.4小结16 第2章循环结构程序设计18 2.1for循环18 2.2while循环和do-while循环22 2.3循环的代价25 2.4算法竞赛中的输入输出框架27 2.5注解与习题34 2.5.1习题34 2.5.2小结36 第3章数组和字符串37 3.1数组37 3.2字符数组41 3.3竞赛题目选讲45 3.4注解与习题53 3.4.1进位制与整数表示54 3.4.2思考题55 3.4.3黑盒测试和在线评测系统55 3.4.4例题一览与习题56 3.4.5小结59 第4章函数和递归61 4.1自定义函数和结构体61 4.2函数调用与参数传递65 4.2.1形参与实参65 4.2.2调用栈66 4.2.3用指针作参数69 4.2.4初学者易犯的错误71 4.2.5数组作为参数和返回值71 4.2.6把函数作为函数的参数73 4.3递归74 4.3.1递归定义74 4.3.2递归函数75 4.3.3C语言对递归的支持75 4.3.4段错误与栈溢出77 4.4竞赛题目选讲79 4.5注解与习题92 4.5.1头文件、副作用及其他93 4.5.2例题一览和习题95 4.5.3小结99 第5章C++与STL入门100 5.1从C到C++100 5.1.1C++版框架101 5.1.2引用102 5.1.3字符串103 5.1.4再谈结构体105 5.1.5模板106 5.2STL初步108 5.2.1排序与检索108 5.2.2不定长数组:vector109 5.2.3集合:set112 5.2.4映射:map113 5.2.5栈、队列与优先队列115 5.2.6测试STL120 5.3应用:大整数类123 5.3.1大整数类BigInteger124 5.3.2四则运算125 5.3.3比较运算符126 5.4竞赛题目举例127 5.5习题134 第2部分基础篇 第6章数据结构基础139 6.1再谈栈和队列139 6.2链表143 6.3树和二叉树148 6.3.1二叉树的编号148 6.3.2二叉树的层次遍历150 6.3.3二叉树的递归遍历155 6.3.4非二叉树160 6.4图162 6.4.1用DFS求连通块162 6.4.2用BFS求最短路164 6.4.3拓扑排序167 6.4.4欧拉回路168 6.5竞赛题目选讲170 6.6训练参考175 第7章暴力求解法182 7.1简单枚举182 7.2枚举排列184 7.2.1生成1~n的排列184 7.2.2生成可重集的排列185 7.2.3解答树186 7.2.4下一个排列187 7.3子集生成188 7.3.1增量构造法188 7.3.2位向量法188 7.3.3二进制法189 7.4回溯法191 7.4.1八皇后问题191 7.4.2其他应用举例194 7.5路径寻找问题198 7.6迭代加深搜索206 7.7竞赛题目选讲209 7.8训练参考213 第3部分竞赛篇 第8章高效算法设计220 8.1算法分析初步220 8.1.1渐进时间复杂度220 8.1.2上界分析222 8.1.3分治法223 8.1.4正确对待算法分析结果224 8.2再谈排序与检索225 8.2.1归并排序225 8.2.2快速排序227 8.2.3二分查找227 8.3递归与分治229 8.4贪心法231 8.4.1背包相关问题231 8.4.2区间相关问题232 8.4.3Huffman编码234 8.5算法设计与优化策略235 8.6竞赛题目选讲244 8.7训练参考252 第9章动态规划初步259 9.1数字三角形259 9.1.1问题描述与状态定义259 9.1.2记忆化搜索与递推260 9.2DAG上的动态规划262 9.2.1DAG模型262 9.2.2最长路及其字典序262 9.2.3固定终点的最长路和最短路264 9.2.4小结与应用举例267 9.3多阶段决策问题270 9.3.1多段图的最短路270 9.3.20-1背包问题271 9.4更多经典模型274 9.4.1线性结构上的动态规划274 9.4.2树上的动态规划280 9.4.3复杂状态的动态规划284 9.5竞赛题目选讲290 9.6训练参考303 第10章数学概念与方法310 10.1数论初步310 10.1.1欧几里德算法和唯一分解定理310 10.1.2Eratosthenes筛法312 10.1.3扩展欧几里德算法313 10.1.4同余与模算术314 10.1.5应用举例316 10.2计数与概率基础318 10.2.1杨辉三角与二项式定理319 10.2.2数论中的计数问题321 10.2.3编码与解码323 10.2.4离散概率初步324 10.3其他数学专题327 10.3.1递推327 10.3.2数学期望332 10.3.3连续概率334 10.4竞赛题目选讲336 10.5训练参考341 第11章图论模型与算法352 11.1再谈树352 11.1.1无根树转有根树352 11.1.2表达式树353 11.2最小生成树355 11.2.1Kruskal算法356 11.2.2竞赛题目选解358 11.3最短路问题359 11.3.1Dijkstra算法359 11.3.2Bellman-Ford算法363 11.3.3Floyd算法364 11.3.4竞赛题目选讲365 11.4网络流初步366 11.4.1最大流问题366 11.4.2增广路算法367 11.4.3最小割最大流定理369 11.4.4最小费用最大流问题370 11.4.5应用举例372 11.5竞赛题目选讲375 11.6训练参考379 11.7总结与展望384 第12章高级专题386 12.1知识点选讲386 12.1.1自动机386 12.1.2树的经典问题和方法392 12.1.3可持久化数据结构397 12.1.4多边形的布尔运算399 12.2难题选解404 12.2.1数据结构404 12.2.2网络流409 12.2.3数学411 12.2.4几何415 12.2.5非完美算法419 12.2.6杂题选讲423 12.3小结与习题446 附录A开发环境与方法455 A.1命令行455 A.1.1文件系统455 A.1.2进程456 A.1.3程序的执行456 A.1.4重定向和管道457 A.1.5常见命令457 A.2操作系统脚本编程入门458 A.2.1Windows下的批处理458 A.2.2Linux下的Bash脚本459 A.2.3再谈随机数460 A.3编译器和调试器460 A.3.1gcc的安装和测试460 A.3.2常见编译选项461 A.3.3gdb简介462 A.3.4gdb的高级功能463 A.4浅谈IDE464 主要参考书目465 |
编辑推荐 |
如果你是一名程序员,如果你参加NOIP、NOI、ACM/ICPC竞赛,只要你对算法感兴趣,那就来吧!就是这本被最多程序员所喜爱、被大量学校广泛作为教材的算法竞赛经典之作! 算法竞赛入门经典一书全新改版,页码翻倍,奇葩?非也,这是因为: ◆第一版内容太少,让人感觉意犹未尽。 ◆有些内容有点过时,需要与时俱进。 ◆C++的介绍太少,例题太少,学有余力的同学在入门完之后有些迷茫。 此次改版就是针对这些不足,所以很让人期待! |
热门折扣设计