图书介绍

C/C++常用算法手册2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

C/C++常用算法手册
  • 唐峻,李淳编著 著
  • 出版社: 北京:中国铁道出版社
  • ISBN:9787113183400
  • 出版时间:2014
  • 标注页数:465页
  • 文件大小:73MB
  • 文件页数:478页
  • 主题词:C语言-程序设计-手册

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C/C++常用算法手册PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1篇 算法基础篇2

第1章 算法概述2

1.1 什么是算法2

1.2 算法的发展历史3

1.3 算法的分类4

1.4 算法相关概念的区别4

1.5 算法的表示5

1.5.1 自然语言表示5

1.5.2 流程图表示6

1.5.3 N-S图表示7

1.5.4 伪代码表示7

1.6 伪代码与算法程序的对应8

1.6.1 基本对应规则8

1.6.2 分支结构9

1.6.3 循环结构10

1.6.4 数组及函数11

1.7 算法的性能评价11

1.8 算法实例12

1.8.1 查找数字12

1.8.2 创建项目13

1.8.3 编译执行15

1.9 算法的新进展16

1.10 小结17

第2章 数据结构18

2.1 数据结构概述18

2.1.1 什么是数据结构18

2.1.2 数据结构中的基本概念19

2.1.3 数据结构的内容19

2.1.4 数据结构的分类21

2.1.5 数据结构的几种存储方式21

2.1.6 数据类型22

2.1.7 常用的数据结构23

2.1.8 选择合适的数据结构解决实际问题24

2.2 线性表24

2.2.1 什么是线性表25

2.2.2 线性表的基本运算25

2.3 顺序表结构26

2.3.1 准备数据26

2.3.2 初始化顺序表27

2.3.3 计算顺序表长度27

2.3.4 插入结点27

2.3.5 追加结点28

2.3.6 删除结点28

2.3.7 查找结点29

2.3.8 显示所有结点29

2.3.9 顺序表操作示例30

2.4 链表结构33

2.4.1 什么是链表结构34

2.4.2 准备数据35

2.4.3 追加结点35

2.4.4 插入头结点36

2.4.5 查找结点37

2.4.6 插入结点38

2.4.7 删除结点39

2.4.8 计算链表长度39

2.4.9 显示所有结点40

2.4.10 链表操作示例40

2.5 栈结构45

2.5.1 什么是栈结构45

2.5.2 准备数据46

2.5.3 初始化栈结构46

2.5.4 判断空栈47

2.5.5 判断满栈47

2.5.6 清空栈47

2.5.7 释放空间48

2.5.8 入栈48

2.5.9 出栈48

2.5.10 读结点数据49

2.5.11 栈结构操作示例49

2.6 队列结构52

2.6.1 什么是队列结构52

2.6.2 准备数据53

2.6.3 初始化队列结构53

2.6.4 判断空队列54

2.6.5 判断满队列54

2.6.6 清空队列54

2.6.7 释放空间55

2.6.8 入队列55

2.6.9 出队列56

2.6.10 读结点数据56

2.6.11 计算队列长度57

2.6.12 队列结构操作示例57

2.7 树结构60

2.7.1 什么是树结构60

2.7.2 树的基本概念61

2.7.3 二叉树62

2.7.4 准备数据65

2.7.5 初始化二叉树65

2.7.6 添加结点66

2.7.7 查找结点68

2.7.8 获取左子树68

2.7.9 获取右子树69

2.7.10 判断空树69

2.7.11 计算二叉树深度69

2.7.12 清空二叉树70

2.7.13 显示结点数据70

2.7.14 遍历二叉树71

2.7.15 树结构操作示例73

2.8 图结构75

2.8.1 什么是图结构75

2.8.2 图的基本概念76

2.8.3 准备数据80

2.8.4 创建图82

2.8.5 清空图83

2.8.6 显示图83

2.8.7 遍历图84

2.8.8 图结构操作示例85

2.9 小结88

第3章 基本算法思想89

3.1 常用算法思想概述89

3.2 穷举算法思想89

3.2.1 穷举算法基本思想90

3.2.2 穷举算法示例90

3.3 递推算法思想92

3.3.1 递推算法基本思想92

3.3.2 递推算法示例92

3.4 递归算法思想94

3.4.1 递归算法基本思想94

3.4.2 递归算法示例95

3.5 分治算法思想96

3.5.1 分治算法基本思想96

3.5.2 分治算法示例96

3.6 概率算法思想100

3.6.1 概率算法基本思想100

3.6.2 概率算法示例101

3.7 小结103

第2篇 算法基本应用篇106

第4章 排序算法106

4.1 排序算法概述106

4.2 冒泡排序法107

4.2.1 冒泡排序算法107

4.2.2 冒泡排序算法示例108

4.3 选择排序法110

4.3.1 选择排序算法110

4.3.2 选择排序算法示例111

4.4 插入排序法113

4.4.1 插入排序算法113

4.4.2 插入排序算法示例114

4.5 Shell排序法116

4.5.1 Shell排序算法116

4.5.2 Shell排序算法示例117

4.6 快速排序法119

4.6.1 快速排序算法119

4.6.2 快速排序算法示例121

4.7 堆排序法123

4.7.1 堆排序算法123

4.7.2 堆排序算法示例128

4.8 合并排序法130

4.8.1 合并排序算法130

4.8.2 合并排序算法示例133

4.9 排序算法的效率136

4.10 排序算法的其他应用137

4.10.1 反序排序137

4.10.2 字符串数组的排序140

4.10.3 字符串的排序142

4.11 小结145

第5章 查找算法146

5.1 查找算法概述146

5.2 顺序查找147

5.2.1 顺序查找算法147

5.2.2 顺序查找操作示例147

5.3 折半查找149

5.3.1 折半查找算法149

5.3.2 折半查找操作示例151

5.4 数据结构中的查找算法153

5.4.1 顺序表结构中的查找算法153

5.4.2 链表结构中的查找算法157

5.4.3 树结构中的查找算法160

5.4.4 图结构中的查找算法161

5.5 小结162

第6章 基本数学问题163

6.1 判断闰年163

6.2 多项式计算165

6.2.1 一维多项式求值165

6.2.2 二维多项式求值167

6.2.3 多项式乘法169

6.2.4 多项式除法171

6.3 随机数生成算法173

6.4 复数运算181

6.4.1 简单的复数运算181

6.4.2 复数的幂运算184

6.4.3 复指数运算186

6.4.4 复对数运算187

6.4.5 复正弦运算188

6.4.6 复余弦运算189

6.5 阶乘190

6.6 计算π的近似值193

6.6.1 割圆术193

6.6.2 蒙特卡罗算法196

6.6.3 级数公式198

6.7 矩阵运算200

6.7.1 矩阵加法200

6.7.2 矩阵减法202

6.7.3 矩阵乘法204

6.8 方程求解206

6.8.1 线性方程求解——高斯消元法206

6.8.2 非线性方程求解——二分法211

6.8.3 非线性方程求解——牛顿迭代法213

6.9 小结216

第7章 复杂的数值计算算法217

7.1 拉格朗日插值217

7.1.1 拉格朗日插值算法217

7.1.2 拉格朗日插值示例218

7.2 数值积分221

7.2.1 数值积分算法221

7.2.2 数值积分示例222

7.3 开平方224

7.3.1 开平方算法224

7.3.2 开平方示例225

7.4 极值问题的求解算法226

7.4.1 极值求解算法226

7.4.2 极值求解示例229

7.5 特殊函数的计算算法232

7.5.1 伽玛函数232

7.5.2 贝塔函数236

7.5.3 正弦积分函数240

7.5.4 余弦积分函数244

7.5.5 指数积分函数247

7.6 小结252

第8章 经典数据结构问题253

8.1 动态数组排序253

8.1.1 动态数组的存储和排序253

8.1.2 动态数组排序示例254

8.2 约瑟夫环256

8.2.1 简单约瑟夫环算法257

8.2.2 简单约瑟夫环求解258

8.2.3 复杂约瑟夫环算法260

8.2.4 复杂约瑟夫环求解261

8.3 城市之间的最短总距离264

8.3.1 最短总距离算法264

8.3.2 最短总距离求解267

8.4 最短路径271

8.4.1 最短路径算法271

8.4.2 最短路径求解273

8.5 括号匹配278

8.5.1 括号匹配算法279

8.5.2 括号匹配求解281

8.6 小结284

第9章 数论问题285

9.1 数论285

9.1.1 数论概述285

9.1.2 数论的分类286

9.1.3 初等数论287

9.1.4 基本概念287

9.2 完全数288

9.2.1 完全数概述288

9.2.2 计算完全数算法289

9.3 亲密数291

9.3.1 亲密数概述291

9.3.2 计算亲密数算法291

9.4 水仙花数294

9.4.1 水仙花数概述294

9.4.2 计算水仙花数算法295

9.5 自守数297

9.5.1 自守数概述297

9.5.2 计算自守数算法298

9.6 最大公约数302

9.6.1 计算最大公约数算法——辗转相除法302

9.6.2 计算最大公约数算法——Stein算法303

9.6.3 计算最大公约数示例304

9.7 最小公倍数305

9.8 素数307

9.8.1 素数概述307

9.8.2 计算素数算法308

9.9 回文素数309

9.9.1 回文素数概述310

9.9.2 计算回文素数算法310

9.10 平方回文数313

9.10.1 平方回文数概述313

9.10.2 计算平方回文数算法313

9.11 分解质因数315

9.12 小结318

第10章 算法经典趣题319

10.1 百钱买百鸡319

10.1.1 百钱买百鸡算法319

10.1.2 百钱买百鸡求解320

10.2 五家共井321

10.2.1 五家共井算法321

10.2.2 五家共井求解323

10.3 鸡兔同笼324

10.3.1 鸡兔同笼算法325

10.3.2 鸡兔同笼求解325

10.4 猴子吃桃326

10.4.1 猴子吃桃算法326

10.4.2 猴子吃桃求解327

10.5 舍罕王赏麦328

10.5.1 舍罕王赏麦问题328

10.5.2 舍罕王赏麦求解329

10.6 汉诺塔330

10.6.1 汉诺塔算法330

10.6.2 汉诺塔求解332

10.7 窃贼问题333

10.7.1 窃贼问题算法333

10.7.2 窃贼问题求解335

10.8 马踏棋盘338

10.8.1 马踏棋盘算法338

10.8.2 马踏棋盘求解340

10.9 八皇后问题342

10.9.1 八皇后问题算法342

10.9.2 八皇后问题求解343

10.10 寻找假银币346

10.10.1 寻找假银币算法346

10.10.2 寻找假银币求解348

10.11 青蛙过河350

10.11.1 青蛙过河算法351

10.11.2 青蛙过河求解352

10.12 三色旗355

10.12.1 三色旗算法355

10.12.2 三色旗求解356

10.13 渔夫捕鱼359

10.13.1 渔夫捕鱼算法359

10.13.2 渔夫捕鱼求解360

10.14 爱因斯坦的阶梯360

10.14.1 爱因斯坦的阶梯算法361

10.14.2 爱因斯坦的阶梯求解361

10.15 兔子产仔362

10.15.1 兔子产仔算法363

10.15.2 兔子产仔求解363

10.16 常胜将军364

10.16.1 常胜将军算法364

10.16.2 常胜将军求解365

10.17 新郎和新娘367

10.17.1 新郎和新娘算法367

10.17.2 新郎和新娘求解368

10.18 三色球370

10.18.1 三色球算法370

10.18.2 三色球求解371

10.19 小结372

第11章 游戏中的算法373

11.1 洗扑克牌373

11.1.1 洗扑克牌算法373

11.1.2 洗扑克牌示例374

11.2 取火柴游戏377

11.2.1 取火柴游戏算法377

11.2.2 取火柴游戏示例378

11.3 10点半380

11.3.1 10点半算法380

11.3.2 10点半游戏示例385

11.4 生命游戏390

11.4.1 生命游戏的原理391

11.4.2 生命游戏的算法392

11.4.3 生命游戏示例393

11.5 小结399

第3篇 算法高级应用篇402

第12章 密码学算法402

12.1 密码学概述402

12.1.1 密码学的发展402

12.1.2 密码学的基本概念403

12.1.3 柯克霍夫斯原则404

12.1.4 经典密码学算法404

12.2 换位加密解密405

12.2.1 换位加密解密算法405

12.2.2 换位加密解密算法示例408

12.3 替换加密解密411

12.3.1 替换加密解密算法411

12.3.2 替换加密解密算法示例412

12.4 位加密解密414

12.4.1 位加密解密算法414

12.4.2 位加密解密算法示例416

12.5 一次一密加密解密417

12.5.1 一次一密加密解密算法418

12.5.2 一次一密加密解密算法示例419

12.6 小结421

第13章 压缩与解压缩算法422

13.1 压缩与解压缩概述422

13.1.1 压缩与解压缩分类422

13.1.2 典型的压缩解压缩算法423

13.2 压缩算法423

13.3 解压缩算法426

13.4 压缩/解压缩示例429

13.5 小结432

第4篇 常见面试题434

第14章 算法常见面试题及解答434

14.1 排序类算法面试题434

14.1.1 排序算法效率434

14.1.2 鸡尾酒排序算法435

14.1.3 文件排序437

14.1.4 城市名称438

14.2 查找类算法面试题439

14.2.1递归求极值439

14.2.2 寻找共同元素441

14.2.3 查找最大子串442

14.3 综合类算法面试题444

14.3.1 求序列和444

14.3.2 递归球累加和445

14.3.3 猜苹果数446

14.3.4 拟置字符串448

14.3.5 递归法拟置字符串449

14.3.6 位运算求负数450

14.4 小结450

第15章 数据结构常见面试题及解答451

15.1 基本数据结构面试题451

15.1.1 如何实现数据缓存区451

15.1.2 出栈队列451

15.1.3 入栈队列452

15.1.4 二叉树叶结点个数453

15.1.5 有向图和无向图454

15.2 数据结构应用面试题454

15.2.1 设计包含min函数的栈455

15.2.2 设计计算指定结点层数算法458

15.2.3 链表法筛选成绩459

15.2.4 将二叉树转变成排序的双向链表461

15.2.5 单链表逆转463

15.3 小结465

热门推荐