扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:3315713922

C/C++数据结构与算法速学速用大辞典

综合评级:
★★★★★

定价:
¥55.00

作者:
陈锐

出版社:
中国铁道

出版日期:
2016/07/01

页数:
532

ISBN:
9787113216993

书籍介绍

(1)结构安排合理。概念讲解通俗易懂,内容安排和案例选取都是先易后难,循序渐进,注重学习知识的连贯性。

(2)注重基础知识的讲解。在数据结构部分首先是对基础知识和概念的介绍,然后给出相应的基本运算算法实现,后面是提供典型案例和考研试题的讲解及算法实现。

(3)涵盖个人学习经验总结。在讲解知识点、分析案例及调试程序时,加入了作者自己学习过程中的经验总结,指出了初学者常犯的错误,避免读者少走弯路。

(4)案例很多都来自全国著名高校(清华大学、哈尔滨工业大学、西北大学、华中科技大学、西安电子科技大学、北京航空航天大学、上海大学)的考研题目,并给出了完整的算法实现。

(5)提供完整代码实现,所有代码均在vc 6.0以上调试通过。

作者简介

陈锐,高级程序员,西北大学计算机应用技术硕士,中国计算机学会CCF会员。从事数据结构与算法和自然语言处理研究工作。著作有:《零基础学数据结构》、《C语言入门教程》、《C语言从入门到精通》等书。

目录

Chapter 1 线性表 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

Chapter 2 栈 55

2-1 顺序表示的栈——

顺序栈 55

001 入栈和出栈 58

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

003 求C(n,m)的值 65

2-2 链式表示的栈——

链式栈 69

004 进制转换 73

005 括号匹配 75

006 求算术表达式的值 79

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

Chapter 3 队列 91

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

顺序队列 91

001 入队和出队 96

002 舞伴配对 100

003 轮渡管理 103

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

链式队列 107

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

005 判断是否为回文 114

Chapter 4 串 119

4-1 顺序表示的串——

顺序串 119

001 串的基本操作 125

002 将浮点型数转换为对应

的字符串 130

003 求*长公共子串 132

004 求等值子串 135

4-2 串的模式匹配 137

005 模式匹配 143

Chapter 5 数组 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

Chapter 6 广义表 181

6-1 广义表的定义及头尾

链表表示 181

001 创建广义表 183

6-2 广义表的扩展线性

链表表示 190

002 创建广义表并求其深度

和广度 191

Chapter 7 树 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

Chapter 8 图 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

Chapter 9 排序算法 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

Chapter 10 查找算法 357

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

001 顺序查找 357

002 折半查找 359

003 分块查找 363

10-2 基于树的查找 367

004 二叉排序树的创建和

插入操作 367

10-3 哈希表的查找 372

005 哈希表的构造与查找 372

Chapter 11 递推算法 379

11-1 顺推法 379

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

002 将十进制数转换为

二进制数 382

003 母牛生小牛问题 384

004 杨辉三角 386

11-2 逆推法 388

005 猴子摘桃 388

006 该存多少钱 389

Chapter 12 迭代算法 391

12-1 **迭代法 391

001 *大公约数与*小

公倍数 391

002 十进制整数转换为

二进制整数 393

003 质因数的分解 394

004 角谷猜想 395

12-2 近似迭代法 397

005 求一个数的平方根 397

006 二分法 398

007 牛顿迭代法 401

008 求定积分 404

Chapter 13 递归算法 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

Chapter 14 枚举算法 431

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

整除 431

002 百钱买百鸡 434

003 五猴分桃 436

004 打印水仙花数 439

005 填数游戏 440

006 谁在说谎 442

Chapter 15 贪心算法 445

001 找零钱问题 445

002 哈夫曼编码 448

003 加油站问题 454

Chapter 16 回溯算法 457

001 组合问题 457

002 填字游戏 460

003 装箱问题 466

Chapter 17 实用算法 471

001 大小写金额转换 471

002 计算7的34次方 476

003 一年中的第几天 478

004 求算术表达式的值 481

005 一元多项式的乘法 489

006 大整数乘法 496

附录 程序调试 499

参考文献 514