《C/C++数据结构与算法速学速用大辞典》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:陈锐,华庆一,耿国华,李洪安,姬翔编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2016
  • ISBN:9787113216993
  • 页数:516 页
图书介绍:本书主要讲解了C、C++常见算法的算法思想和使用。其中包括排序算法、查找算法、迭代算法、递推算法、递归算法、枚举算法、贪心算法、回溯算法、矩阵算法。本书内容全面、讲解详细、配合图表重难点突出、代码完整,有分明的层次架构。可以作为计算机专业学生、教师、工程技术人员的参考用书、案头必备书,方便查阅。

Chapter1 线性表 1

1-1 顺序表示的线性表——顺序表 1

001 合并两个线性表中的元素 6

002 fgetc函数和getc函数 9

003 求两个线性表的差集 12

004 分拆顺序表:左边的元素小于等于0,右边的大于0 14

005 计算两个任何长度的整数之和 17

1-2 链式表示的线性表之一——单链表 19

006 求单链表的差集 27

007 合并两个单链表 32

1-3 链式表示的线性表之二——循环单链表 36

008 分拆循环单链表 36

009 构造三个单循环链表 40

1-4 链式表示的线性表之三——双向链表 44

010 双向链表的建立与插入操作 47

011 约瑟夫问题(双向链表) 51

Chapter2 栈 55

2-1 顺序表示的栈——顺序栈 55

001 入栈和出栈 58

002 共享栈的入栈和出栈操作 60

003 求C(n,m)的值 65

2-2 链式表示的栈——链式栈 69

004 进制转换 73

005 括号匹配 75

006 求算术表达式的值 79

007 判断字符串是否中心对称 87

Chapter3 队列 91

3-1 顺序表示的队列——顺序队列 91

001 入队和出队 96

002 舞伴配对 100

003 轮渡管理 103

3-2 链式表示的队列——链式队列 107

004 队列在杨辉三角中的应用 111

005 判断是否为回文 114

Chapter4 串 119

4-1 顺序表示的串——顺序串 119

001 串的基本操作 125

002 将浮点型数转换为对应的字符串 130

003 求最长公共子串 132

004 求等值子串 135

4-2 串的模式匹配 137

005 模式匹配 143

Chapter5 数组 149

5-1 数组的定义及表示 149

001 查找第k小元素 151

002 将奇数移动到偶数的左边 153

5-2 二维数组(矩阵) 155

003 将矩阵旋转90度 155

004 打印魔方阵 157

005 打印螺旋矩阵 160

006 打印拉丁方阵 162

007 打印蛇形方阵 164

5-3 数组的压缩存储 166

008 上三角阵的压缩存储 169

5-4 稀疏矩阵的压缩存储 172

009 稀疏矩阵的相加 176

Chapter6 广义表 181

6-1 广义表的定义及头尾链表表示 181

001 创建广义表 183

6-2 广义表的扩展线性链表表示 190

002 创建广义表并求其深度和广度 191

Chapter7 树 197

7-1 树与二叉树 197

001 根据广义表形式创建二叉树 207

002 建立二叉树 211

7-2 二叉树的遍历 214

003 先序非递归遍历二叉树 215

004 层次遍历二叉树 219

005 输出树的各条边 221

006 由中序和后序序列构造二叉树 225

7-3 二叉树的应用 229

007 交换二叉树的左右子树 229

008 判断是否为完全二叉树 233

009 求结点的个数 239

010 求二叉树的高度和宽度 242

011 求根结点到任一结点之间的路径 246

7-4 哈夫曼树 251

012 构造哈夫曼树 253

Chapter8 图 259

8-1 图的基本概念 259

001 用邻接矩阵表示法创建有向图 264

002 利用邻接表创建有向图 267

003 把邻接矩阵转换为邻接表 271

8-2 图的遍历 276

004 判断有向图中是否存在回路 278

005 深度遍历有向图 281

006 图的广度优先遍历 286

007 判断有向图中是否有根 291

008 求距离顶点v0的最短长度为k的所有顶点 296

009 判断顶点u和顶点v是否存在简单路径 301

010 判断图中是否为一棵树 307

Chapter9 排序算法 313

9-1 插入排序 313

001 直接插入排序 313

002 折半插入排序 316

003 希尔排序 321

9-2 交换排序 324

004 冒泡排序 324

005 快速排序 328

9-3 选择排序 333

006 简单选择排序 333

007 堆排序 338

9-4 归并排序 345

008 归并排序 345

9-5 基数排序 348

009 基数排序 348

Chapter10 查找算法 357

10-1 基于线性表的查找 357

001 顺序查找 357

002 折半查找 359

003 分块查找 363

10-2 基于树的查找 367

004 二叉排序树的创建和插入操作 367

10-3 哈希表的查找 372

005 哈希表的构造与查找 372

Chapter11 递推算法 379

11-1 顺推法 379

001 斐波那契数列(递推法) 379

002 将十进制数转换为二进制数 382

003 母牛生小牛问题 384

004 杨辉三角 386

11-2 逆推法 388

005 猴子摘桃 388

006 该存多少钱 389

Chapter12 迭代算法 391

12-1 精确迭代法 391

001 最大公约数与最小公倍数 391

002 十进制整数转换为二进制整数 393

003 质因数的分解 394

004 角谷猜想 395

12-2 近似迭代法 397

005 求一个数的平方根 397

006 二分法 398

007 牛顿迭代法 401

008 求定积分 404

Chapter13 递归算法 409

13-1 简单递归 409

001 求n的阶乘 409

002 斐波那契数列(递归法) 413

003 求n个数中的最大者 415

004 数制转换 416

005 求最大公约数 417

13-2 复杂递归 419

006 颠倒字符串 419

007 和式分解 420

008 台阶问题 423

009 汉诺塔问题 426

010 大牛生小牛问题 429

Chapter14 枚举算法 431

001 判断n是否能被3、5、7整除 431

002 百钱买百鸡 434

003 五猴分桃 436

004 打印水仙花数 439

005 填数游戏 440

006 谁在说谎 442

Chapter15 贪心算法 445

001 找零钱问题 445

002 哈夫曼编码 448

003 加油站问题 454

Chapter16 回溯算法 457

001 组合问题 457

002 填字游戏 460

003 装箱问题 466

Chapter17 实用算法 471

001 大小写金额转换 471

002 计算7的34次方 476

003 一年中的第几天 478

004 求算术表达式的值 481

005 一元多项式的乘法 489

006 大整数乘法 496

附录 程序调试 499

参考文献 514