面向算法设计的数据结构

面向算法设计的数据结构

谢勰, 编著

出版社:清华大学出版社

年代:2015

定价:32.0

书籍简介:

本书以面向算法设计为理念,以示例引入问题为形式,最后给出C++代码实现,阐述了数据结构的有关概念及其实现方法,是作者多年讲授数据结构课程的经验总结,非常适合作为计算机及相关专业的数据结构教材。

书籍目录:

第1章  算法

1.1  概述

1.2  [实例]二分查找

1.3  程序性能与算法分析

1.3.1  时间复杂度

1.3.2  空间复杂度

1.4  渐近记号

1.5  [技巧]阶的快速比较*

1.5.1  加和型无穷大量阶的比较

1.5.2  乘积型无穷大量阶的比较

1.5.3  对数型无穷大量阶的比较

1.6  习题

第2章  抽象数据类型

2.1  概述

2.2  [实例]在数据集中查找给定值

2.2.1  缺点一:长度受限制

2.2.2  缺点二:有序则难变

2.2.3  缺点三:查变难两全

2.2.4  查找问题的抽象数据类型视角

2.3  数据库与数据集

2.3.1  数据库

2.3.2  数据集

2.4  功能与实现

2.4.1  向量的伸缩

2.4.2  有序向量实现

2.4.3  无序向量实现

2.4.4  对比

2.5  [技巧]组装使用

2.6  STL容器一览

2.7  设计模式

2.7.1  迭代器

2.7.2  适配器

2.7.3  组合

2.8  习题

第3章  向量

3.1  概述

3.2  [使用]  vectoz

3.3  vector的简要实现

3.4  加倍技术*

3.5  [技巧]物理存储与进制换算

3.5.1  一维数组

3.5.2  二维数组

3.5.3  多维向量

3.6  [技巧]自然数映射与下标

3.7  [实例]矩阵的向量实现

3.7.1  矩阵的简易实现

3.7.2  稀疏矩阵

3.8  习题

第4章  递归

4.1  概述

4.2  [技巧]递归设计与归纳证明

4.3  递归与进程模型

4.4  递归算法性能分析

4.5  [实例]排列生成器*

4.5.1  利用vector传值实现

4.5.2  利用vector引用实现

4.6  [实例]乐高铺砖

4.7  习题

第5章  栈

5.1  概述

5.2  [使用]stack

5.3  stack的简要实现

5.4  [技巧]逻辑表达式优化

5.5  [实例]路径搜索

5.6  习题

第6章  队列

6.1  概述

6.2  [使用]queue

6.3  [技巧]循环向量设计

6.3.1  使用两个位置指示

6.3.2  使用计数信息

6.4  queue的简要实现

6.5  [实例]贾宪三角

6.6  [技巧]排队组织与内蕴次序

6.7  习题

第7章  链

7.1  概述

7.2  [使用]list

7.3  [技巧]用于链接的指针

7.3.1  利用指针实现链接功能

7.3.2  使用真实链首元素指针

7.3.3  使用哑结点解决空链判断问题

7.4  链的变种

7.4.1  单链

7.4.2  单循环链

7.4.3  双循环链

7.5  list的简要实现

7.6  [技巧]基于归纳的初始条件选取

7.7  [实例]归并排序

7.8  习题

第8章  二叉树

8.1  概述.

8.2  二叉树与树

8.3  [技巧]二叉树遍历

8.4  [技巧]递归处理二叉树

8.5  [实例]二叉查找树

8.5.1  特性

8.5.2  查找

8.5.3  插入

8.5.4  :删除

8.5.5  迭代器

8.5.6  效率

8.6  习题

第9章  集合

9.1  概述

9.2  [使用]set与multiset

9.3  [实例]寻找宝藏

9.4  [技巧]哨兵

9.4.1  线性查找中的哨兵

9.4.2  二叉查找树中的哨兵

9.5  [技巧]集合与序关系

9.5.1  排序

9.5.2  中位数

9.6  [技巧]不相交集

9.7  习题

第10章  优先级队列

10.1  概述

10.2  [使用]priority—queue

10.3  [技巧]维护最大元

10.4  priority-queue的简要实现

10.5  [实例]堆排序

10.5.1  数据组织与排序

10.5.2  建堆算法

10.6  [实例]Huffman编码

10.7  习题

第11章  图

11.1  概述

11.2  图的表示

11.2.1  邻接矩阵

11.2.2  邻接表

11.2.3  选用

11.3  图类

11.3.1  有向图类

11.3.2  加权有向图类

11.3.3  加权无向图类

11.4  f技巧]编号与反向映射

11.5  [技巧]DFS和BFS

11.5.1  深度优先搜索

11.5.2  广度优先搜索

11.5.3  若干应用

11.6  [实例]最短路径*

11.6.1  Diiikstra算法

11.6.2  Bellman—Ford—Moore算法

11.6.3  Floyd—Warshall算法

11.7  [实例]最小生成树

11.7.1  Kruskal算法

11.7.2  Prim算法

11.8  习题

第12章  实验

12.1  多维求和

12.1.1  一维部分和

12.1.2  实验要求

12.1.3  评注与引申

12.2  幻方计数

12.2.1  排列

12.2.2  实验要求

12.2.3  评注与引申

12.3  随机行走

12.3.1  伪随机数生成

12.3.2  实验要求

12.3.3  评注与引申

12.4  纸牌游戏

12.4.1  可数集

12.4.2  实验要求

12.4.3  评注与引申

12.5  迷宫生成

12.5.1  隔板型迷宫

12.5.2  实验要求

12.5.3  评注与引申

12.6  数据压缩

12.6.1.存储数据

12.6.2  实验要求

12.6.3  评注与引申

12.7  会场安排

12.7.1  时间格式

12.7.2  实验要求

12.7.3  评注与引申

12.8  排序测试

12.8.1  随机置换

12.8.2  实验要求

12.8.3  评注与引申

附录A  头文件

A.1  计时类

A.2  book.h

附录B  中文参考书目

B.1  国内数据结构教材

B.2  数据结构教材(翻译版)

B.3  算法教材(翻译版)

英文参考文献

内容摘要:

本书基于抽象数据类型的观点讲解数据结构,力图让读者学会以“积木式”组件方案快速、便捷、高效地构建程序. 数据结构要为算法服务,因此本书以算法分析为导向,以算法效率为准绳,着墨于抽象数据类型的选择、使用和组合,从而实现提升算法性能的终极目标.全书采用 C++语言描述程序,并尽量与 C++11标准靠拢,力求紧跟程序设计语言的时代脉搏.本书特色在于以标准模板库(STL)高效地编写C++程序代码,并特别论及了各种容器的算法性能优劣,从而让读者能够更好地使用 STL容器.本书可作为高等院校计算机科学与技术等本科专业的数据结构课程教材,也可供相关专业的工程技术人员参考.

编辑推荐:

本书以面向算法设计为理念,以示例引入问题为形式,最后给出C++代码实现,阐述了数据结构的有关概念及其实现方法,是作者多年讲授数据结构课程的经验总结,非常适合作为计算机及相关专业的数据结构教材。

书籍规格:

书籍详细信息
书名面向算法设计的数据结构站内查询相似图书
9787302411529
如需购买下载《面向算法设计的数据结构》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)32.0语种简体中文
尺寸26 × 19装帧平装
页数印数

书籍信息归属:

面向算法设计的数据结构是清华大学出版社于2015.出版的中图分类号为 TP312 ,TP301.6 的主题关于 C语言-程序设计 ,电子计算机-算法设计 ,电子计算机-算法分析 的书籍。