当前位置:首页 > 工业技术
C/C++常用算法手册
C/C++常用算法手册

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

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:秦姣华,向旭宇编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2011
  • ISBN:9787113125707
  • 页数:406 页
图书介绍:本书分三篇,共13章,分别介绍了算法基础、算法应用和高级算法应用。首先介绍了算法概述,然后重点分析了书籍结构和基本算法思想;接着,详细讲解了算法在排序、查找、数学计算、数论、历史趣题和游戏中的应用;最后,讲解了算法的一些高级应用技术,包括密码学和数据加密中的应用。
《C/C++常用算法手册》目录

第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.7算法实例 9

1.7.1查找数字 9

1.7.2创建项目 11

1.7.3编译执行 12

1.8算法的新进展 13

1.9小结 14

第2章 数据结构 15

2.1数据结构概述 15

2.1.1什么是数据结构 15

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

2.1.3数据结构的内容 16

2.1.4数据结构的分类 18

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

2.1.6数据类型 19

2.1.7常用的数据结构 20

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

2.2线性表 21

2.2.1什么是线性表 21

2.2.2线性表的基本运算 22

2.3顺序表结构 23

2.3.1准备数据 23

2.3.2初始化顺序表 24

2.3.3计算顺序表长度 24

2.3.4插入结点 24

2.3.5追加结点 25

2.3.6删除结点 25

2.3.7查找结点 25

2.3.8显示所有结点 26

2.3.9顺序表操作示例 26

2.4链表结构 30

2.4.1什么是链表结构 30

2.4.2准备数据 31

2.4.3追加结点 31

2.4.4插入头结点 33

2.4.5查找结点 33

2.4.6插入结点 34

2.4.7删除结点 35

2.4.8计算链表长度 36

2.4.9显示所有结点 36

2.4.10链表操作示例 37

2.5栈结构 41

2.5.1什么是栈结构 41

2.5.2准备数据 42

2.5.3初始化栈结构 42

2.5.4判断空栈 43

2.5.5判断满栈 43

2.5.6清空栈 43

2.5.7释放空间 44

2.5.8入栈 44

2.5.9出栈 44

2.5.10读结点数据 45

2.5.11栈结构操作示例 45

2.6队列结构 48

2.6.1什么是队列结构 48

2.6.2准备数据 49

2.6.3初始化队列结构 49

2.6.4判断空队列 50

2.6.5判断满队列 50

2.6.6清空队列 50

2.6.7释放空间 51

2.6.8入队列 51

2.6.9出队列 51

2.6.10读结点数据 52

2.6.11计算队列长度 52

2.6.12队列结构操作示例 53

2.7树结构 56

2.7.1什么是树结构 56

2.7.2树的基本概念 56

2.7.3二叉树 57

2.7.4准备数据 61

2.7.5初始化二叉树 61

2.7.6添加结点 62

2.7.7查找结点 63

2.7.8获取左子树 64

2.7.9获取右子树 64

2.7.10判断空树 65

2.7.11计算二叉树深度 65

2.7.12清空二叉树 65

2.7.13显示结点数据 66

2.7.14遍历二叉树 66

2.7.15树结构操作示例 68

2.8图结构 71

2.8.1什么是图结构 71

2.8.2图的基本概念 72

2.8.3准备数据 76

2.8.4创建图 78

2.8.5清空图 79

2.8.6显示图 79

2.8.7遍历图 80

2.8.8图结构操作示例 81

2.9小结 84

第3章 基本算法思想 85

3.1常用算法思想概述 85

3.2穷举算法思想 85

3.2.1穷举算法基本思想 86

3.2.2穷举算法示例 86

3.3递推算法思想 88

3.3.1递推算法基本思想 88

3.3.2递推算法示例 88

3.4递归算法思想 90

3.4.1递归算法基本思想 90

3.4.2递归算法示例 90

3.5分治算法思想 92

3.5.1分治算法基本思想 92

3.5.2分治算法示例 92

3.6概率算法思想 96

3.6.1概率算法基本思想 96

3.6.2概率算法示例 97

3.7小结 98

第2篇 算法基本应用篇 100

第4章 排序算法 100

4.1排序算法概述 100

4.2冒泡排序法 101

4.2.1冒泡排序算法 101

4.2.2冒泡排序算法示例 102

4.3选择排序法 104

4.3.1选择排序算法 104

4.3.2选择排序算法示例 105

4.4插入排序法 107

4.4.1插入排序算法 107

4.4.2插入排序算法示例 108

4.5 Shell排序法 110

4.5.1 Shell排序算法 110

4.5.2 Shell排序算法示例 111

4.6快速排序法 113

4.6.1快速排序算法 113

4.6.2快速排序算法示例 114

4.7堆排序法 116

4.7.1堆排序算法 116

4.7.2堆排序算法示例 121

4.8合并排序法 123

4.8.1合并排序算法 123

4.8.2合并排序算法示例 126

4.9排序算法的效率 129

4.10排序算法的其他应用 130

4.10.1反序排序 130

4.10.2字符串数组的排序 132

4.10.3字符串的排序 135

4.11小结 137

第5章 查找算法 138

5.1查找算法概述 138

5.2顺序查找 138

5.2.1顺序查找算法 139

5.2.2顺序查找操作示例 139

5.3折半查找 141

5.3.1折半查找算法 141

5.3.2折半查找操作示例 142

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

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

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

5.4.3树结构中的查找算法 151

5.4.4图结构中的查找算法 152

5.5小结 153

第6章 基本数学问题 154

6.1判断闰年 154

6.2多项式计算 156

6.2.1一维多项式求值 156

6.2.2二维多项式求值 158

6.2.3多项式乘法 160

6.2.4多项式除法 161

6.3随机数生成算法 164

6.4复数运算 171

6.4.1简单的复数运算 172

6.4.2复数的幂运算 174

6.4.3复指数运算 176

6.4.4复对数运算 177

6.4.5复正弦运算 178

6.4.6复余弦运算 179

6.5阶乘 180

6.6计算π的近似值 183

6.6.1割圆术 183

6.6.2蒙特卡罗算法 185

6.6.3级数公式 187

6.7矩阵运算 190

6.7.1矩阵加法 190

6.7.2矩阵减法 191

6.7.3矩阵乘法 193

6.8方程求解 195

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

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

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

6.9小结 205

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

7.1拉格朗日插值 206

7.1.1拉格朗日插值算法 206

7.1.2拉格朗日插值示例 207

7.2数值积分 210

7.2.1数值积分算法 210

7.2.2数值积分示例 211

7.3开平方 213

7.3.1开平方算法 213

7.3.2开平方示例 213

7.4极值问题的求解算法 215

7.4.1极值求解算法 215

7.4.2极值求解示例 217

7.5特殊函数的计算算法 221

7.5.1伽玛函数 221

7.5.2贝塔函数 224

7.5.3正弦积分函数 228

7.5.4余弦积分函数 231

7.5.5指数积分函数 235

7.6小结 239

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

8.1动态数组排序 240

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

8.1.2动态数组排序示例 241

8.2约瑟夫环 243

8.2.1简单约瑟夫环算法 243

8.2.2简单约瑟夫环求解 245

8.2.3复杂约瑟夫环算法 247

8.2.4复杂约瑟夫环求解 248

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

8.3.1最短总距离算法 250

8.3.2最短总距离求解 253

8.4最短路径 257

8.4.1最短路径算法 258

8.4.2最短路径求解 260

8.5括号匹配 265

8.5.1括号匹配算法 265

8.5.2括号匹配求解 267

8.6小结 270

第9章 数论问题 271

9.1数论 271

9.1.1数论概述 271

9.1.2数论的分类 272

9.1.3初等数论 273

9.1.4基本概念 273

9.2完全数 274

9.2.1完全数概述 274

9.2.2计算完全数算法 275

9.3亲密数 277

9.3.1亲密数概述 277

9.3.2计算亲密数算法 277

9.4水仙花数 280

9.4.1水仙花数概述 280

9.4.2计算水仙花数算法 281

9.5自守数 283

9.5.1自守数概述 283

9.5.2计算自守数算法 284

9.6最大公约数 287

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

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

9.6.3计算最大公约数示例 289

9.7最小公倍数 290

9.8素数 292

9.8.1素数概述 292

9.8.2计算素数算法 292

9.9回文素数 294

9.9.1回文素数概述 294

9.9.2计算回文素数算法 294

9.10平方回文数 297

9.10.1平方回文数概述 297

9.10.2计算平方回文数算法 297

9.11分解质因数 299

9.12小结 301

第10章 算法经典趣题 302

10.1百钱买百鸡 302

10.1.1百钱买百鸡算法 302

10.1.2百钱买百鸡求解 303

10.2五家共井 304

10.2.1五家共井算法 304

10.2.2五家共井求解 305

10.3鸡兔同笼 307

10.3.1鸡兔同笼算法 307

10.3.2鸡兔同笼求解 308

10.4猴子吃桃 308

10.4.1猴子吃桃算法 308

10.4.2猴子吃桃求解 309

10.5舍罕王赏麦 310

10.5.1舍罕王赏麦问题 310

10.5.2舍罕王赏麦求解 311

10.6汉诺塔 312

10.6.1汉诺塔算法 312

10.6.2汉诺塔求解 314

10.7窃贼问题 315

10.7.1窃贼问题算法 315

10.7.2窃贼问题求解 317

10.8马踏棋盘 320

10.8.1马踏棋盘算法 320

10.8.2马踏棋盘求解 321

10.9八皇后问题 323

10.9.1八皇后问题算法 324

10.9.2八皇后问题求解 325

10.10寻找假银币 327

10.10.1寻找假银币算法 327

10.10.2寻找假银币求解 329

10.11青蛙过河 331

10.11.1青蛙过河算法 331

10.11.2青蛙过河求解 333

10.12三色旗 335

10.12.1三色旗算法 335

10.12.2三色旗求解 337

10.13渔夫捕鱼 339

10.13.1渔夫捕鱼算法 339

10.13.2渔夫捕鱼求解 340

10.14爱因斯坦的阶梯 341

10.14.1爱因斯坦的阶梯算法 341

10.14.2爱因斯坦的阶梯求解 342

10.15兔子产仔 342

10.15.1兔子产仔算法 343

10.15.2兔子产仔求解 343

10.16常胜将军 344

10.16.1常胜将军算法 344

10.16.2常胜将军求解 345

10.17新郎和新娘 346

10.17.1新郎和新娘算法 347

10.17.2新郎和新娘求解 348

10.18三色球 349

10.18.1三色球算法 349

10.18.2三色球求解 350

10.19小结 351

第11章 游戏中的算法 352

11.1洗扑克牌 352

11.1.1洗扑克牌算法 352

11.1.2洗扑克牌示例 353

11.2取火柴游戏 356

11.2.1取火柴游戏算法 356

11.2.2取火柴游戏示例 357

11.3 10点半 358

11.3.1 10点半算法 358

11.3.2 10点半游戏示例 363

11.4生命游戏 368

11.4.1生命游戏的原理 368

11.4.2生命游戏的算法 369

11.4.3生命游戏示例 371

11.5小结 376

第3篇 算法高级应用篇 378

第12章 密码学算法 378

12.1密码学概述 378

12.1.1密码学的发展 378

12.1.2密码学的基本概念 379

12.1.3柯克霍夫斯原则 379

12.1.4经典密码学算法 380

12.2换位加密解密 381

12.2.1换位加密解密算法 381

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

12.3替换加密解密 386

12.3.1替换加密解密算法 386

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

12.4位加密解密 389

12.4.1位加密解密算法 390

12.4.2位加密解密算法示例 391

12.5一次一密加密解密 392

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

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

12.6小结 396

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

13.1压缩与解压缩概述 397

13.1.1压缩与解压缩分类 397

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

13.2压缩算法 398

13.3解压缩算法 401

13.4压缩/解压缩示例 404

13.5小结 406

相关图书
作者其它书籍
返回顶部