本书分为4部分:第1部分介绍C++语言的基础知识,包括表达式、变量、分支、循环、数组、函数、字符串、结构体等内容;第2部分介绍一些基础算法,包括模拟、高精度、排序、枚举、递推、递归、贪心、二分、搜索等;第3部分介绍几种简单常用的数据结构,包括线性表、二叉树、并查集、哈希表和图;第4部分是在算法竞赛中需要使用的数学基础,包括位运算与进制转换、计数原理、排列与组合、质数与合数、约数与倍数等概念。
本书主要面向从未接触过程序设计竞赛(包括NOI系列比赛、ICPC系列比赛)的选手,也适用于稍有接触算法、希望进一步巩固算法基础的读者。
本书提供一些在线的配套资源,例如课件或勘误表,读者可以发邮件至编辑邮箱[email protected]索取。