《数据结构与C++算法设计案例教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:赖俊峰,高博主编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2011
  • ISBN:9787111317555
  • 页数:279 页
图书介绍:本书突破传统教材的编写模式和内容组织方法,采用并实现了国家社科基金“十一五”规划教育学科国家级课题的子课题等。

模块一 C++语言基础 1

任务一 一个简单的C++语言程序 2

子任务1 建立主函数 2

子任务2 C++语言的输入、输出 5

子任务3 函数的调用与指针操作 7

任务二 面向对象的程序设计 10

子任务1 类的定义 10

子任务2 构造函数和析构函数 13

子任务3 继承的实现 16

任务三 VC 6.0简介 20

子任务1 建立文件和程序的编译、链接、执行 20

子任务2 新建类及增加成员 25

学材小结 27

模块二 数据结构与算法 31

任务一 学习数据结构的必要性 32

任务二 数据结构 34

子任务1 基本术语 34

子任务2 算法设计的特性和算法设计的要求 37

子任务3 算法效率的度量 38

学材小结 39

模块三 线性表 43

任务一 理解线性表的逻辑结构 44

子任务1 线性表的逻辑定义和特征 44

子任务2 线性表的操作 45

任务二 线性表的顺序存储结构 48

子任务1 顺序表的定义 48

子任务2 顺序表的几种基本操作 50

任务三 线性表的链式存储结构(链表) 54

子任务1 链表的概念与特点 54

子任务2 单链表的基本运算 55

子任务3 单循环链表和双向链表 61

学材小结 68

模块四 栈和队列 71

任务一 栈的概念和基本操作 72

子任务1 栈的概念 72

子任务2 栈的主要操作 75

子任务3 栈的应用 79

任务二 队列的概念和操作 85

子任务1 队列的概念 85

子任务2 队列的操作 88

子任务3 循环队列 91

学材小结 95

模块五 数组、串和广义表 97

任务一 数组 98

子任务1 数组的定义 98

子任务2 数组的基本操作 101

子任务3 特殊矩阵的压缩存储 105

任务二 串 111

子任务1 串的概念 111

子任务2 串的存储 115

子任务3 串的模式匹配算法 117

任务三 广义表 122

学材小结 125

模块六 二叉树和树 127

任务一 二叉树 128

子任务1 二叉树的概念和性质 128

子任务2 二叉树的存储 131

子任务3 二叉树的遍历 135

子任务4 哈夫曼树 142

任务二 树和森林 149

子任务1 树和森林的概念 149

子任务2 树和森林的存储 152

子任务3 树(森林)与二叉树的转换和树(森林)的遍历 159

学材小结 167

模块七 图 171

任务一 图的定义和术语 172

任务二 图的存储结构 175

子任务1 邻接矩阵法 175

子任务2 邻接表和逆邻接表 178

子任务3 十字链表 181

任务三 图的遍历算法 185

子任务1 图的深度遍历 185

子任务2 图的广度遍历 189

任务四 图的应用 192

子任务1 最小生成树 192

子任务2 最短路径 203

子任务3 拓扑排序 208

学材小结 215

模块八 查找 219

任务一 查找的基本概念 220

任务二 静态查找 221

子任务1 顺序表的查找 221

子任务2 折半查找 224

子任务3 索引查找 227

任务三 动态查找 229

子任务1 二叉排序树 229

子任务2 哈希表 234

学材小结 242

模块九 内部排序 245

任务一 内部排序的概念和排序的方法 246

任务二 插入排序 248

子任务1 直接插入排序 248

子任务2 表插入排序 251

子任务3 希尔插入 253

任务三 交换排序 255

子任务1 冒泡排序 255

子任务2 快速排序 258

任务四 选择排序 261

子任务1 简单选择排序 261

子任务2 堆排序 264

任务五 归并排序 270

任务六 基数排序 273

学材小结 277

参考文献 279