算法竞赛入门经典(第二版) (算法艺术与信息学竞赛) 刘汝佳 pdf格式 文字版 有书签目录 完整版 清华大学出版社 内容简介 · · · · · · 《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。 《算法竞赛入门经典(第2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序设计竞赛(ACM/ICPC)的训练资料,也可作为IT工程师与科研人员的参考用书。 目录 · · · · · · 第1部分 语言篇 第1章 程序设计入门 1 1.1 算术表达式 1 1.2 变量及其输入 3 1.3 顺序结构程序设计 6 1.4 分支结构程序设计 9 1.5 注解与习题 13 1.5.1 C语言、C99、C11及其他 13 1.5.2 数据类型与输入格式 14 1.5.3 习题 15 1.5.4 小结 16 第2章 循环结构程序设计 18 2.1 for循环 18 2.2 while循环和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.3 C语言对递归的支持 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.1 C++版框架 101 5.1.2 引用 102 5.1.3 字符串 103 5.1.4 再谈结构体 105 5.1.5 模板 106 5.2 STL初步 108 5.2.1 排序与检索 108 5.2.2 不定长数组:vector 109 5.2.3 集合:set 112 5.2.4 映射:map 113 5.2.5 栈、队列与优先队列 115 5.2.6 测试STL 120 5.3 应用:大整数类 123 5.3.1 大整数类BigInteger 124 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.3 Huffman编码 234 8.5 算法设计与优化策略 235 8.6 竞赛题目选讲 244 8.7 训练参考 252 第9章 动态规划初步 259 9.1 数字三角形 259 9.1.1 问题描述与状态定义 259 9.1.2 记忆化搜索与递推 260 9.2 DAG上的动态规划 262 9.2.1 DAG模型 262 9.2.2 最长路及其字典序 262 9.2.3 固定终点的最长路和最短路 264 9.2.4 小结与应用举例 267 9.3 多阶段决策问题 270 9.3.1 多段图的最短路 270 9.3.2 0-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.2 Eratosthenes筛法 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.1 Kruskal算法 356 11.2.2 竞赛题目选解 358 11.3 最短路问题 359 11.3.1 Dijkstra算法 359 11.3.2 Bellman-Ford算法 363 11.3.3 Floyd算法 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.1 Windows下的批处理 458 A.2.2 Linux下的Bash脚本 459 A.2.3 再谈随机数 460 A.3 编译器和调试器 460 A.3.1 gcc的安装和测试 460 A.3.2 常见编译选项 461 A.3.3 gdb简介 462 A.3.4 gdb的高级功能 463 A.4 浅谈IDE 464 主要参考书目 465
2022-10-08 08:59:28 9.28MB 文字版 有书签目录 刘汝佳 算法
1
《算法竞赛入门经典:训练指南》是《算法竞赛入门经典》的重要补充,旨在补充原书中没有涉及或者讲解得不够详细的内容,从而构建一个较完整的知识体系,并且用大量有针对性的题目,让抽象复杂的算法和数学具体化、实用化。《算法竞赛入门经典:训练指南》共6章,分别为算法设计基础、数学基础、实用数据结构、几何问题、图论算法与模型和更多算法专题,全书通过近200道例题深入浅出地介绍了上述领域的各个知识点、经典思维方式以及程序实现的常见方法和技巧,并在章末和附录中给出了丰富的分类习题,供读者查漏补缺和强化学习效果。
2022-09-13 15:56:26 11.11MB C语言 上机
1
深度探索C++对象模型 中文版+英文原版合集 PDF格式 高清版 有书签目录 无水印 完整版Inside the C++Object Model by Stanley.B.Lippman 侯捷 译 内容简介 · · · · · · 这本书探索“对象导向程序所支持的C++对象模型”下的程序行为。对于“对象导向性质之基础实现技术”以及“各种性质背后的隐含利益交换”提供一个清楚的认识。检验由程序变形所带来的效率冲击。提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。 作者简介 · · · · · · Stanley B. Lippman的工作是提供关于C++和面向对象的训练、咨询、设计和指导。Lippman在成为一名独立咨询顾问之前,曾经是迪士尼动化公司的首席软件设计师。他在AT&T Bell实验室的时候,领导了cfront 3.0版本和2.1版本的编译器开发组。他也是Bjarne Stroustrup领导的Bell实验室Foundation项目的成员之一,负责C++程序设计环境中的对象模型部分。Lippman还撰写了许多关于C++的论文。目前Lippman已受雇于微软公司,负责Visual C++项目。 译者侯捷:电脑技术自由作家,对于技术的钻研和发表,有独特的品性与坚持。作品涵盖著、译、评三方面,散见于各种刊特、媒体、网站论坛。
2022-04-08 00:16:50 23.22MB C++
1
STL源码剖析 中文繁体 侯捷 著 PDF格式 有书签目录 高清文字版 无水印 文字版 内容简介 · · · · · · 学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。 这本书所呈现的源码,使读者看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;甚至还能够看到底层的memory pool和高阶抽象的traits机制的实现。
2021-08-04 19:20:52 6MB C++
1
算法竞赛入门经典训练指南 刘汝佳 PDF格式 文字版 有书签目录 本书是《算法艺术与信息学竞赛》的学习指导。所谓学习指导,是告诉读者学什 么,如何学。算法包罗万象,很难在一本书中的篇幅覆盖很多内容的通知对每个知识 点进行细致讲解,因此本书更多的是作为一本导引、工具书、手册或者学习大纲,给 读者以宏观上的学习指导。和原书《算法艺术与信息学竞赛》相比,本书的特点有: ² 大量知识讲解。 ² 更多循序渐进的习题。 ² 重要算法的源代码。 从知识结构上看,本书的覆盖面比原书更广,补充了原书没有涉及到在知识点, 包括计算理论中的NP完全理论和图灵机的基本概念、数据结构中的伸展树、Treap,左 偏树、二项堆、Fibonacci堆、数论中的指数和原根、分解因数的快速算法、数值计算 中的高斯消元法和FFT、组合游戏论初步、更多序列经典问题和线段树、后缀数组等 数据结构的应用、树更多经典问题、多模式串匹配算法、后缀树构造的Ukkonen算法、 后缀数组构造的Skew算法、更加详细的强连通分量/双连通分量算法、最大流和最小费 用流算法、二分图和任意图的最大基数匹配算法和最大权匹配算法、稳定婚姻问题、 线性规划在网络优化中的作用、向量代数基础、多边形剖分算法、平面剖分、半平面 交、三维凸包、Voronoi图和直线排列的构造算法、几何对偶性的应用、Minkowski和与 简单运动规划问题等。 从题目上看,本书的题目集中在习题部分,这样保证知识讲解部分相对完整和纯 粹,也避免了用过多篇幅叙述和具体题目相关的内容。这些题目选择范围更广,难度 搭配也更加合理,且包含了常见的小技巧,和原书那些巧妙但难以理解的题目比较起 来更适合于初学者入门与提高,也为深入阅读原书打下了基础。
2020-03-04 03:04:36 8.98MB 算法竞赛 学习指导 刘汝佳 数据结构
1
Algorithms in C++, Parts 1-4 Fundamentals, Data Structure, Sorting, Searching (3rd Edition) Robert Sedgewick著 PDF版本 算法 I~IV(C++实现)——基础、数据结构、排序和搜索(第三版)英文版 有书签目录 文字版 无水印 完整版
2019-12-21 19:58:41 11.17MB 算法 数据结构 C++ 塞奇威克
1
信号与系统 陈后金版本教材 高清晰 有书签目录 注意本资源是课本
2019-12-21 19:40:36 12.99MB 信号与系统 陈后金 课本
1
深入Linux设备驱动程序内核机制 你懂的 好书 今年新书 驱动
2019-12-21 18:58:37 40.19MB 深入 Linux 设备 驱动程序
1