×
高等学校计算机课程规划教材数据结构与算法(C++版)(第2版)/游洪跃 唐宁九 孙界平

高等学校计算机课程规划教材数据结构与算法(C++版)(第2版)/游洪跃 唐宁九 孙界平

1星价 ¥43.5 (6.3折)
2星价¥43.5 定价¥69.0
暂无评论
图文详情
  • ISBN:9787302557746
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:396
  • 出版时间:2020-11-01
  • 条形码:9787302557746 ; 978-7-302-55774-6

本书特色

本书所有算法都同时在Visual C++ 6.0、Visual C++ 2017、Dev-C++ v5.11和CodeBlocks v16.01中通过测试。读者可在******下载如下教学参考内容:(1)提供书中所有算法在Visual C++ 6.0、Visual C++ 2017、Dev-C++ v5.11和CodeBlocks v16.01开发环境中的测试程序,今后还会提供当时流行的C++开发环境的测试程序,每种开发环境还将建立工程的步骤,在工程建立新文件与向工程添加已有文件的方法的文档,以及打开一个工程的视频;还提供本书作者开发的软件包(包含所有本书所讲的数据结构与算法的类模板与函数模板)。 (2)提供教学用Power Point幻灯片ppt课件。 (3)提供所有习题的解答或参考程序。 (4)部分重要算法原理演示视频。 (5)提供至少8套数据结构与算法模拟试题及其解答,以供学生期末及其考研复习,也可供教师出考题时参考。 (6)提供数据结构与算法相关的其它资料(例如Dev-C++v5.11与CodeBlocks v16.01软件等免费C++编译器)。 “十二五”普通高等教育本科国家级规划教材 教育部微软精品课配套教材“十二五”普通高等教育本科国家级规划教材 教育部微软精品课配套教材

内容简介

本书内容包括:线性表、栈和队列、串、数组和广义表、树、图、文件、算法设计技术与分析技术问题。

目录

目录

第1章绪论1

1.1数据结构的概念和学习数据结构的必要性1

1.2数据结构的基本概念2

1.2.1数据2

1.2.2数据元素和数据项2

1.2.3数据结构3

1.3抽象数据类型及其实现4

1.3.1数据类型4

1.3.2抽象数据类型4

1.4算法和算法分析4

1.4.1算法4

1.4.2算法分析5

1.5实例研究: 生命游戏7

1.6深入学习导读13

1.7习题13


第2章线性表14

2.1线性表的逻辑结构14

2.2线性表的顺序存储结构16

2.3线性表的链式存储结构23

2.3.1单链表23

2.3.2循环链表32

2.3.3双向链表35

2.3.4在链表结构中保存当前位置和元素个数39

2.4实例研究: 计算任意大整数的阶乘42

2.5深入学习导读45

2.6习题45


第3章栈和队列46

3.1栈46

3.1.1栈的基本概念46

3.1.2顺序栈47

3.1.3链式栈52

3.2队列59

3.2.1队列的基本概念59

3.2.2链队列60

3.2.3循环队列——队列的顺序存储结构65

3.2.4队列应用——显示二项式(a+b)i的系数70

3.3优先队列71

3.4实例研究: 表达式求值75

3.5深入学习导读79

3.6习题79


第4章串80

4.1串类型的定义80

4.2字符串的实现81

4.3字符串模式匹配算法86

4.3.1简单字符串模式匹配算法86

4.3.2首尾字符串模式匹配算法88

4.3.3KMP字符串模式匹配算法88

4.4实例研究: 文本编辑94

4.5深入学习导读103

4.6习题103


第5章数组和广义表105

5.1数组105

5.1.1数组的基本概念105

5.1.2数组的顺序表105

5.1.3数组的类模板定义107

5.2矩阵111

5.2.1矩阵的定义和操作111

5.2.2特殊矩阵113

5.2.3稀疏矩阵118

5.3广义表130

5.3.1基本概念130

5.3.2广义表的存储结构132

5.4实例研究: 稳定伴侣问题142

5.5深入学习导读145

5.6习题146


第6章树和二叉树147

6.1树的基本概念147

6.1.1树的定义147

6.1.2基本术语147

6.2二叉树149

6.2.1二叉树的定义149

6.2.2二叉树的性质151

6.2.3二叉树的存储结构153

6.3二叉树遍历162

6.3.1遍历的定义162

6.3.2遍历算法163

6.3.3二叉树遍历应用举例169

6.4线索二叉树174

6.4.1线索的概念174

6.4.2线索二叉树的实现176

6.5树和森林的实现184

6.5.1树的存储表示184

6.5.2树的显示191

6.5.3森林的存储表示192

6.5.4树和森林的遍历197

6.5.5将树和森林与二叉树相互转换199

6.6哈夫曼树与哈夫曼编码202

6.6.1哈夫曼树的基本概念202

6.6.2哈夫曼树构造算法203

6.6.3哈夫曼编码204

6.6.4哈夫曼树的实现205

6.7树的计数209

6.8树在等价关系上的应用212

6.9实例研究: 哈夫曼压缩算法216

6.10深入学习导读221

6.11习题222


第7章图223

7.1图的定义和术语223

7.2图的存储表示227

7.2.1邻接矩阵227

7.2.2邻接表232

7.3图的遍历240

7.3.1深度优先搜索240

7.3.2广度优先搜索242

7.4连通无向网的*小代价生成树244

7.4.1Prim算法244

7.4.2Kruskal算法247

7.5有向无环图及应用250

7.5.1拓扑排序251

7.5.2关键路径253

7.6*短路径257

7.6.1单源点*短路径问题258

7.6.2所有顶点之间的*短路径261

7.7实例研究: 周游世界问题——哈密顿圈263

7.8深入学习导读265

7.9习题265


第8章查找267

8.1查找的基本概念267

8.2静态表的查找267

8.2.1顺序查找267

8.2.2有序表的查找268

8.3动态查找表272

8.3.1二叉排序树272

8.3.2平衡二叉树282

8.3.3B树和B+树306

8.4哈希表309

8.4.1哈希表的概念309

8.4.2构造哈希函数的方法309

8.4.3处理冲突的方法309

8.4.4哈希表的实现311

8.5实例研究: 查找3个数组的*小共同元素316

8.6深入学习导读317

8.7习题317


第9章排序319

9.1概述319

9.2插入排序320

9.2.1直接插入排序320

9.2.2Shell排序321

9.3交换排序323

9.3.1冒泡排序323

9.3.2快速排序324

9.4选择排序327

9.4.1简单选择排序327

9.4.2堆排序328

9.5归并排序332

9.6基数排序336

9.6.1多关键字排序336

9.6.2基数排序337

9.7各种内部排序方法讨论339

9.8外部排序341

9.8.1外部排序基础341

9.8.2外部排序的方法342

9.9实例研究: 用堆实现优先队列343

9.10深入学习导读346

9.11习题346


第10章文件348

10.1主存储器和辅助存储器348

10.2各种常用文件结构348

10.2.1顺序文件348

10.2.2索引文件349

10.2.3哈希文件350

10.3实例研究350

10.3.1VSAM文件350

10.3.2多关键字文件351

10.4深入学习导读353

10.5习题353


第11章算法设计与分析354

11.1算法设计354

11.1.1递归算法354

11.1.2分治算法356

11.1.3动态规划算法357

11.1.4贪婪算法358

11.1.5回溯法359

11.1.6分支限界法361

11.2算法分析363

11.2.1递归分析363

11.2.2利用生成函数进行分析364

11.3实例研究: 图着色问题366

11.4深入学习导读368

11.5习题368


参考文献370


附录A调和级数371


附录B泊松分布372


附录C配套软件包文件索引373


附录D主流C++开发环境的使用方法379


展开全部

作者简介

唐宁九,教授,硕士生导师,四川省计算机用户协会副秘书长,中国计算机用户协会理事,加拿大滑铁卢大学计算机系访问学者,主持、参与“863项目”、“九.五攻关项目”五项,主持、参与横向科研课题6项,在核心期刊上发表论文三十余篇,主编专著一本,主编教材一本,参加编写教材3本。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航