当前位置:首页 > 工业技术
数据结构  C++版
数据结构  C++版

数据结构 C++版PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:叶核亚编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121219856
  • 页数:318 页
图书介绍:本书全面系统地介绍数据结构的基础理论和算法设计方法,包括线性表、树、图等数据结构以及查找和排序算法。内容涉及的广度和深度符合计算机专业本科的基本要求,体现了本科教学的培养目标。本书采用C++语言,以面向对象方法描述数据结构和算法。本书理论叙述精练,结构安排合理,重点是数据结构设计和算法设计,通过降低理论难度和抽象性、加强实践环节等措施,力求增强学生的理解能力和应用能力。
《数据结构 C++版》目录

第1章 绪论 1

1.1数据结构的基本概念 1

1.1.1为什么要学习数据结构 1

1.1.2什么是数据结构 2

1.1.3数据类型与抽象数据类型 5

1.2算法 7

1.2.1什么是算法 7

1.2.2算法分析 9

1.2.3算法设计 12

1.3 Visual C++集成开发环境 14

1.3.1 Visual C++2008集成开发环境 14

1.3.2新建、编辑、编译和运行C++程序 16

1.3.3程序调试技术 20

习题1 23

实验1 算法设计与分析 24

第2章 线性表 25

2.1线性表抽象数据类型 25

2.2线性表的顺序存储和实现 26

2.2.1线性表的顺序存储结构 26

2.2.2顺序表 28

2.2.3排序顺序表 41

2.3线性表的链式存储和实现 49

2.3.1线性表的链式存储结构 49

2.3.2单链表 50

2.3.3双链表 63

2.4线性表的应用:多项式的表示及运算 68

2.4.1一元多项式的表示及运算 68

2.4.2二元多项式的表示及运算 70

习题2 71

实验2 线性表的基本操作 71

第3章串 75

3.1串抽象数据类型 75

3.2串的存储和实现 76

3.2.1串的存储结构 76

3.2.2使用char*表示字符串存在错误 77

3.2.3字符串类 79

3.3串的模式匹配 83

3.3.1 Brute-Force算法 84

3.3.2 KMP算法 88

习题3 95

实验3 串的基本操作及模式匹配算法 95

第4章 栈和队列 98

4.1栈 98

4.1.1栈抽象数据类型 98

4.1.2顺序栈 99

4.1.3链式栈 100

4.1.4栈的应用 101

4.2队列 107

4.2.1队列抽象数据类型 107

4.2.2顺序队列 107

4.2.3链式队列 110

4.2.4队列的应用 112

4.3优先队列 113

4.4递归 116

习题4 121

实验4 栈和队列以及递归算法 122

第5章 数组和广义表 125

5.1数组 125

5.2特殊矩阵的压缩存储 131

5.2.1三角矩阵、对称矩阵和对角矩阵的压缩存储 131

5.2.2稀疏矩阵的压缩存储 133

5.3广义表 139

习题5 143

实验5 特殊矩阵和广义表的存储和运算 144

第6章 树和二叉树 146

6.1树及其抽象数据类型 146

6.1.1树定义 146

6.1.2树的术语 147

6.1.3树的表示法 148

6.1.4树抽象数据类型 148

6.2二叉树 149

6.2.1二叉树定义 149

6.2.2二叉树性质 150

6.2.3二叉树的遍历及构造规则 151

6.2.4二叉树的存储结构 154

6.2.5二叉树的二叉链表实现 156

6.3线索二叉树 168

6.3.1线索二叉树定义 168

6.3.2中序线索二叉树 170

6.4 Huffman树 176

6.4.1 Huffman编码 176

6.4.2 Huffman树及其构造算法 177

6.5树的表示和实现 184

6.5.1树的遍历规则 184

6.5.2树的存储结构 184

6.5.3树的父母孩子兄弟链表实现 185

习题6 188

实验6 树和二叉树的基本操作 190

第7章 图 193

7.1图及其抽象数据类型 193

7.1.1图的基本概念 193

7.1.2图抽象数据类型 197

7.2图的表示和实现 197

7.2.1图的邻接矩阵表示和实现 197

7.2.2图的邻接表表示和实现 205

7.2.3图的邻接多重表表示 211

7.3图的遍历 212

7.3.1图的深度优先搜索遍历 213

7.3.2图的广度优先搜索遍历 216

7.4最小生成树 218

7.4.1生成树 218

7.4.2最小生成树的构造算法 220

7.5最短路径 224

7.5.1单源最短路径 224

7.5.2每对顶点间的最短路径 229

习题7 233

实验7 图的表示和操作 234

第8章 查找 235

8.1查找的基本概念 235

8.2基于排序顺序表的二分法查找 237

8.3基于索引表的分块查找 239

8.4散列 244

8.5二叉排序树和平衡二叉树 252

8.5.1二叉排序树 252

8.5.2平衡二叉树 257

习题8 261

实验8 查找算法 262

第9章 排序 263

9.1排序的基本概念 263

9.2插入排序 264

9.2.1直接插入排序和折半插入排序 264

9.2.2希尔排序 266

9.3交换排序 268

9.3.1冒泡排序 268

9.3.2快速排序 269

9.4选择排序 272

9.4.1直接选择排序 272

9.4.2堆排序 273

9.5归并排序 277

9.6单/双链表的排序算法 279

习题9 283

实验9 排序算法设计及分析 283

第10章 综合应用设计 285

10.1算法设计策略 285

10.1.1分治法 285

10.1.2动态规划法 287

10.1.3贪心法 289

10.1.4回溯法 300

10.2课程设计的目的、要求和选题 311

附录A ASCⅡ码表(前128个) 316

附录B C++运算符及其优先级 317

参考文献 318

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