算法训练营:入门篇(全彩版)

算法训练营:入门篇(全彩版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2024-10
版次: 1
ISBN: 9787121487576
定价: 128.00
装帧: 其他
开本: 16开
页数: 276页
字数: 352.8千字
  • 本书图文并茂、通俗易懂,详细讲解常用的算法知识,又融入了大量的竞赛实例和解题技巧,可帮助读者熟练应用各种算法解决实际问题。 本书总计9章。第1章讲解C 基础知识,涉及语法、数组、字符串、结构体和指针;第2章带读者感受算法之美,涉及算法复杂度、函数和递归;第3章讲解线性表的应用,涉及顺序表、链表、栈和队列,以及STL中的常用函数和容器;第4章讲解树的应用,涉及树、二叉树、二叉树遍历、哈夫曼树和二叉搜索树;第5章讲解图论基础,涉及图的存储和图的遍历;第6章带读者进行算法入门,涉及贪心算法和分治算法;第7章讲解高精度计算,涉及高精度加法、高精度减法、高精度乘法和高精度除法;第8章带读者进行搜索算法入门,涉及二分算法、深度优先搜索和广度优先搜索;第9章带读者进行动态规划入门,涉及动态规划秘籍、背包问题、线性动态规划和区间动态规划。 本书面向对算法感兴趣的读者,无论是想扎实内功或参加算法竞赛的学生,还是想进入名企的学生、求职者,抑或是想提升核心竞争力的在职人员,都可以参考本书。若读者想进一步学习数据结构与算法,则可参考《算法训练营:提高篇(全彩版)》和《算法训练营:进阶篇(全彩版)》。 陈小玉

    高级程序员,ACM教练,主要研究方向为算法优化和机器学习,出版多部算法与数据结构畅销书,所教学生多次获得ACM-ICPC、蓝桥杯等算法竞赛奖项。 第1章 C 基础知识 1 

    1.1 开启算法之旅 1 

    1.2 常用的数据类型 2 

    1.3 玩转输入和输出 2 

    1.4 常用的运算符 3 

    1.5 选择结构语句 5 

    1.5.1 if条件语句 5 

    1.5.2 switch条件语句 9 

    1.6 循环结构语句 10 

    1.6.1 for语句 10 

    1.6.2 while语句 13 

    1.6.3 do while语句 14 

    1.7 巧用数组 15 

    1.7.1 一维数组 15 

    1.7.2 二维数组 17 

    1.8 玩转字符串 18 

    1.8.1 C风格的字符串 19 

    1.8.2 C string类型的 

    字符串 20 

    1.9 结构体的应用 21 

    1.10 指针的应用 22 

    第2章 算法之美 24 

    2.1 算法复杂度 24 

    2.1.1 时间复杂度 27 

    2.1.2 空间复杂度 27 

    2.2 函数 30 

    2.2.1 标准函数 30 

    2.2.2 传值参数 31 

    2.2.3 引用参数 31 

    2.2.4 数组参数 32 

    2.3 递归 33 

    2.3.1 递归函数 33 

    2.3.2 递归的原理 33 

    第3章 线性表的应用 37 

    3.1 顺序表 37 

    3.1.1 插入 38 

    3.1.2 删除 39 

    3.2 链表 40 

    3.2.1 单链表 40 

    3.2.2 双向链表 43 

    3.2.3 循环链表 45 

    3.2.4 静态链表 46 

    3.3 栈 49 

    3.3.1 入栈 49 

    3.3.2 出栈 49 

    3.3.3 取栈顶元素 50 

    3.4 队列 50 

    3.4.1 顺序队列 51 

    3.4.2 循环队列 53 

    3.5 STL中的常用函数和容器 56 

    3.5.1 sort() 57 

    3.5.2 vector(向量) 58 

    训练 角谷猜想 59 

    3.5.3 stack(栈) 60 

    训练 数字游戏 60 

    3.5.4 queue(队列) 61 

    训练 骑士移动 61 

    3.5.5 list(双向链表) 63 

    训练 新兵队列训练 64 

    第4章 树的应用 66 

    4.1 树 66 

    4.1.1 树的存储 68 

    4.1.2 树、森林与二叉树的 

    转换 71 

    4.2 二叉树 73 

    4.2.1 二叉树的性质 74 

    4.2.2 满二叉树和完全二 

    叉树 75 

    4.2.3 二叉树的存储结构 78 

    4.3 二叉树遍历 80 

    4.3.1 先序遍历 80 

    4.3.2 中序遍历 83 

    4.3.3 后序遍历 86 

    4.3.4 层次遍历 90 

    训练1 新二叉树 92 

    训练2 二叉树遍历 93 

    4.4 哈夫曼树 95 

    4.4.1 哈夫曼编码 95 

    4.4.2 哈夫曼编码的长度 

    计算方法 108 

    训练1 围栏修复 109 

    训练2 信息熵 110 

    4.5 二叉搜索树 112 

    4.5.1 二叉搜索树原理详解 112 

    4.5.2 查找 112 

    4.5.3 插入 115 

    4.5.4 创建 116 

    4.5.5 删除 117 

    训练1 落叶 122 

    训练2 完全二叉搜索树 124 

    第5章 图论基础 127 

    5.1 图的存储 128 

    5.1.1 邻接矩阵 128 

    5.1.2 边集数组 129 

    5.1.3 邻接表 130 

    5.1.4 链式前向星 133 

    5.1.5 图的存储技巧 136 

    5.2 图的遍历 136 

    5.2.1 广度优先遍历 136 

    5.2.2 深度优先遍历 140 

    训练1 最大的节点 144 

    训练2 油田 145 

    第6章 算法入门 149 

    6.1 贪心算法 149 

    6.1.1 贪心算法秘籍 149 

    6.1.2 最优装载问题 150 

    训练1 部分背包问题 152 

    训练2 排队接水 153 

    训练3 线段覆盖 154 

    6.2 分治算法 156 

    6.2.1 分治算法秘籍 156 

    6.2.2 合并排序 156 

    6.2.3 快速排序 161 

    训练1 排序(模板) 168 

    训练2 求第k小的数 169 

    第7章 高精度计算 171 

    7.1 高精度加法 171 

    7.1.1 接收和存储数据 171 

    7.1.2 处理进位 171 

    训练 A B Problem 174 

    7.2 高精度减法 175 

    7.2.1 比较大小 175 

    7.2.2 接收和存储数据 175 

    7.2.3 处理借位 175 

    训练 A-B Problem 177 

    7.3 高精度乘法 178 

    7.3.1 接收和存储数据 178 

    7.3.2 处理进位 178 

    训练 A*B Problem 179 

    7.4 高精度除法 180 

    7.4.1 接收和存储数据 180 

    7.4.2 按位相除 181 

    训练 A/B Problem 181 

    第8章 搜索算法入门 183 

    8.1 二分算法 183 

    8.1.1 二分查找 183 

    8.1.2 二分答案 186 

    训练1 查找 187 

    训练2 跳石头游戏 189 

    训练3 花环 193 

    8.2 深度优先搜索 195 

    8.2.1 回溯法的原理 195 

    8.2.2 回溯法模板 197 

    训练1 01背包问题 198 

    训练2 图的m着色问题 205 

    训练3 n皇后问题 213 

    8.3 广度优先搜索 227 

    8.3.1 分支限界法的原理 227 

    8.3.2 分支限界法秘籍 227 

    训练1 迷宫问题 228 

    训练2 01背包问题 229 

    第9章 动态规划入门 235 

    9.1 动态规划秘籍 235 

    9.1.1 动态规划的三个要素 236 

    9.1.2 动态规划的设计方法 236 

    9.2 背包问题 237 

    9.2.1 01背包问题 238 

    9.2.2 完全背包问题 246 

    训练1 骨头收藏家 246 

    训练2 存钱罐 248 

    9.3 线性动态规划 250 

    训练1 超级楼梯 250 

    训练2 数字三角形 251 

    训练3 最长上升子序列 253 

    训练4 最长公共子序列 256 

    训练5 最大连续子段和 257 

    9.4 区间动态规划 259 

    训练1 回文 259 

    训练2 括号匹配 261 

    训练3 乘法难题 263 

    训练4 猴子派对 265
  • 内容简介:
    本书图文并茂、通俗易懂,详细讲解常用的算法知识,又融入了大量的竞赛实例和解题技巧,可帮助读者熟练应用各种算法解决实际问题。 本书总计9章。第1章讲解C 基础知识,涉及语法、数组、字符串、结构体和指针;第2章带读者感受算法之美,涉及算法复杂度、函数和递归;第3章讲解线性表的应用,涉及顺序表、链表、栈和队列,以及STL中的常用函数和容器;第4章讲解树的应用,涉及树、二叉树、二叉树遍历、哈夫曼树和二叉搜索树;第5章讲解图论基础,涉及图的存储和图的遍历;第6章带读者进行算法入门,涉及贪心算法和分治算法;第7章讲解高精度计算,涉及高精度加法、高精度减法、高精度乘法和高精度除法;第8章带读者进行搜索算法入门,涉及二分算法、深度优先搜索和广度优先搜索;第9章带读者进行动态规划入门,涉及动态规划秘籍、背包问题、线性动态规划和区间动态规划。 本书面向对算法感兴趣的读者,无论是想扎实内功或参加算法竞赛的学生,还是想进入名企的学生、求职者,抑或是想提升核心竞争力的在职人员,都可以参考本书。若读者想进一步学习数据结构与算法,则可参考《算法训练营:提高篇(全彩版)》和《算法训练营:进阶篇(全彩版)》。
  • 作者简介:
    陈小玉

    高级程序员,ACM教练,主要研究方向为算法优化和机器学习,出版多部算法与数据结构畅销书,所教学生多次获得ACM-ICPC、蓝桥杯等算法竞赛奖项。
  • 目录:
    第1章 C 基础知识 1 

    1.1 开启算法之旅 1 

    1.2 常用的数据类型 2 

    1.3 玩转输入和输出 2 

    1.4 常用的运算符 3 

    1.5 选择结构语句 5 

    1.5.1 if条件语句 5 

    1.5.2 switch条件语句 9 

    1.6 循环结构语句 10 

    1.6.1 for语句 10 

    1.6.2 while语句 13 

    1.6.3 do while语句 14 

    1.7 巧用数组 15 

    1.7.1 一维数组 15 

    1.7.2 二维数组 17 

    1.8 玩转字符串 18 

    1.8.1 C风格的字符串 19 

    1.8.2 C string类型的 

    字符串 20 

    1.9 结构体的应用 21 

    1.10 指针的应用 22 

    第2章 算法之美 24 

    2.1 算法复杂度 24 

    2.1.1 时间复杂度 27 

    2.1.2 空间复杂度 27 

    2.2 函数 30 

    2.2.1 标准函数 30 

    2.2.2 传值参数 31 

    2.2.3 引用参数 31 

    2.2.4 数组参数 32 

    2.3 递归 33 

    2.3.1 递归函数 33 

    2.3.2 递归的原理 33 

    第3章 线性表的应用 37 

    3.1 顺序表 37 

    3.1.1 插入 38 

    3.1.2 删除 39 

    3.2 链表 40 

    3.2.1 单链表 40 

    3.2.2 双向链表 43 

    3.2.3 循环链表 45 

    3.2.4 静态链表 46 

    3.3 栈 49 

    3.3.1 入栈 49 

    3.3.2 出栈 49 

    3.3.3 取栈顶元素 50 

    3.4 队列 50 

    3.4.1 顺序队列 51 

    3.4.2 循环队列 53 

    3.5 STL中的常用函数和容器 56 

    3.5.1 sort() 57 

    3.5.2 vector(向量) 58 

    训练 角谷猜想 59 

    3.5.3 stack(栈) 60 

    训练 数字游戏 60 

    3.5.4 queue(队列) 61 

    训练 骑士移动 61 

    3.5.5 list(双向链表) 63 

    训练 新兵队列训练 64 

    第4章 树的应用 66 

    4.1 树 66 

    4.1.1 树的存储 68 

    4.1.2 树、森林与二叉树的 

    转换 71 

    4.2 二叉树 73 

    4.2.1 二叉树的性质 74 

    4.2.2 满二叉树和完全二 

    叉树 75 

    4.2.3 二叉树的存储结构 78 

    4.3 二叉树遍历 80 

    4.3.1 先序遍历 80 

    4.3.2 中序遍历 83 

    4.3.3 后序遍历 86 

    4.3.4 层次遍历 90 

    训练1 新二叉树 92 

    训练2 二叉树遍历 93 

    4.4 哈夫曼树 95 

    4.4.1 哈夫曼编码 95 

    4.4.2 哈夫曼编码的长度 

    计算方法 108 

    训练1 围栏修复 109 

    训练2 信息熵 110 

    4.5 二叉搜索树 112 

    4.5.1 二叉搜索树原理详解 112 

    4.5.2 查找 112 

    4.5.3 插入 115 

    4.5.4 创建 116 

    4.5.5 删除 117 

    训练1 落叶 122 

    训练2 完全二叉搜索树 124 

    第5章 图论基础 127 

    5.1 图的存储 128 

    5.1.1 邻接矩阵 128 

    5.1.2 边集数组 129 

    5.1.3 邻接表 130 

    5.1.4 链式前向星 133 

    5.1.5 图的存储技巧 136 

    5.2 图的遍历 136 

    5.2.1 广度优先遍历 136 

    5.2.2 深度优先遍历 140 

    训练1 最大的节点 144 

    训练2 油田 145 

    第6章 算法入门 149 

    6.1 贪心算法 149 

    6.1.1 贪心算法秘籍 149 

    6.1.2 最优装载问题 150 

    训练1 部分背包问题 152 

    训练2 排队接水 153 

    训练3 线段覆盖 154 

    6.2 分治算法 156 

    6.2.1 分治算法秘籍 156 

    6.2.2 合并排序 156 

    6.2.3 快速排序 161 

    训练1 排序(模板) 168 

    训练2 求第k小的数 169 

    第7章 高精度计算 171 

    7.1 高精度加法 171 

    7.1.1 接收和存储数据 171 

    7.1.2 处理进位 171 

    训练 A B Problem 174 

    7.2 高精度减法 175 

    7.2.1 比较大小 175 

    7.2.2 接收和存储数据 175 

    7.2.3 处理借位 175 

    训练 A-B Problem 177 

    7.3 高精度乘法 178 

    7.3.1 接收和存储数据 178 

    7.3.2 处理进位 178 

    训练 A*B Problem 179 

    7.4 高精度除法 180 

    7.4.1 接收和存储数据 180 

    7.4.2 按位相除 181 

    训练 A/B Problem 181 

    第8章 搜索算法入门 183 

    8.1 二分算法 183 

    8.1.1 二分查找 183 

    8.1.2 二分答案 186 

    训练1 查找 187 

    训练2 跳石头游戏 189 

    训练3 花环 193 

    8.2 深度优先搜索 195 

    8.2.1 回溯法的原理 195 

    8.2.2 回溯法模板 197 

    训练1 01背包问题 198 

    训练2 图的m着色问题 205 

    训练3 n皇后问题 213 

    8.3 广度优先搜索 227 

    8.3.1 分支限界法的原理 227 

    8.3.2 分支限界法秘籍 227 

    训练1 迷宫问题 228 

    训练2 01背包问题 229 

    第9章 动态规划入门 235 

    9.1 动态规划秘籍 235 

    9.1.1 动态规划的三个要素 236 

    9.1.2 动态规划的设计方法 236 

    9.2 背包问题 237 

    9.2.1 01背包问题 238 

    9.2.2 完全背包问题 246 

    训练1 骨头收藏家 246 

    训练2 存钱罐 248 

    9.3 线性动态规划 250 

    训练1 超级楼梯 250 

    训练2 数字三角形 251 

    训练3 最长上升子序列 253 

    训练4 最长公共子序列 256 

    训练5 最大连续子段和 257 

    9.4 区间动态规划 259 

    训练1 回文 259 

    训练2 括号匹配 261 

    训练3 乘法难题 263 

    训练4 猴子派对 265
查看详情
相关图书 / 更多
算法训练营:入门篇(全彩版)
算法设计(C++版)/计算机科学与技术丛书
王秋芬
算法训练营:入门篇(全彩版)
算法超简单:趣味游戏带你轻松入门与实践
童晶
算法训练营:入门篇(全彩版)
算法与程序设计基础 人工智能 刘昌明,孙延君,李海玉,刘思圻,邓林,周志明,张丽伟 新华正版
刘昌明;孙延君;李海玉;刘思圻;邓林;周志明;张丽伟
算法训练营:入门篇(全彩版)
算法分阶:坏况分析
[美]蒂姆·拉夫加登(TimRoughgarden) 著
算法训练营:入门篇(全彩版)
算法设计与分析<第3版>在线编程实验指导(高等学校算法类课程系列教材)
李春葆;刘娟;喻丹丹;刘斌
算法训练营:入门篇(全彩版)
算法基础:打开算法之门(双色版) [美]托马斯·H. 科尔曼
[美]托马斯·H.科尔曼
算法训练营:入门篇(全彩版)
算法设计与分析
张德富;曾华琳;沈思淇
算法训练营:入门篇(全彩版)
算法面试
李春葆 编者;李筱驰
算法训练营:入门篇(全彩版)
算法设计与分析<第3版>学习指导(高等学校算法类课程系列教材)
李春葆;刘娟;喻丹丹;刘斌
算法训练营:入门篇(全彩版)
算法设计与分析基础(第3版 详解版)
[美]阿纳尼·乐维汀著云鹤(AnanyLevitin) 译
算法训练营:入门篇(全彩版)
算法治理与治理算法 科技综合 唐林垚 新华正版
唐林垚
算法训练营:入门篇(全彩版)
算法传播十讲
全燕 著
您可能感兴趣 / 更多