当前位置:首页 > 工业技术
数据结构教程  面向对象实现方法
数据结构教程  面向对象实现方法

数据结构教程 面向对象实现方法PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:朱振元,朱承编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2000
  • ISBN:7560608957
  • 页数:318 页
图书介绍:本书采用面向对象的Java语言实现抽象数据类型,对每一种抽象的数据类型先定义成接口,然后再结合各种具体的存储结构加以实现。
《数据结构教程 面向对象实现方法》目录

第1章 课程概论 1

1.1 课程的初步认识 1

1.2 数据结构的基本概念 3

1.2.1 基本术语 3

1.2.2 数据结构的概念 4

1.2.3 逻辑结构和物理结构 4

1.2.4 数据结构形式定义 5

1.3 数据类型及面向对象概念 6

1.3.1 数据类型概述 6

1.3.2 抽象数据类型 6

1.3.3 实现方法 7

1.3.4 面向对象的概念 8

1.4 算法及算法分析 10

1.4.1 算法特性 10

1.4.2 算法描述 10

1.4.3 算法设计的要求 11

1.4.4 算法分析 12

1.5 实习一:常用算法 14

第2章 线性表 15

2.1 线性表实例及概念 15

2.2 线性表的存储方式 16

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

2.2.2 线性表的链式存储结构 17

2.3 线性表的有关操作 20

2.3.1 顺序表的操作实现 21

2.3.2 单链表的操作实现 24

2.3.3 静态链表的操作实现 29

2.3.4 双向循环链表的操作实现 31

2.4 线性表的ADT定义及类定义 33

2.4.1 线性表的ADT定义 34

2.4.2 顺序表的类定义 35

2.4.3 线性链表的类定义 36

2.5 实习二:顺序表演示程序 37

2.5.1 问题说明 37

2.5.2 界面外观及功能要求 38

2.5.3 实现要点 38

2.5.4 类定义 38

2.5.5 类的实现 39

2.5.6 组件设置 40

2.5.7 界面功能的实现 40

2.5.8 程序清单 41

第3章 栈 44

3.1 栈的应用实例及概念 44

3.2 栈的存储方式 45

3.2.1 栈的顺序存储结构 45

3.2.2 栈的链式存储结构 46

3.3 栈的有关操作 47

3.3.1 顺序栈的操作实现 47

3.3.2 链栈的操作实现 48

3.4 栈的ADT定义及类定义 50

3.4.1 栈的ADT定义 50

3.4.2 顺序栈的类定义 51

3.4.3 链栈的类定义 52

3.5 应用实例的实现 53

3.5.1 表达式中括号配对的合法性检查 53

3.5.2 表达式求值 55

3.6 实习三:链栈演示程序 59

3.6.1 问题说明 60

3.6.2 界面外观及功能要求 60

3.6.3 实现要点 60

3.6.4 类定义 61

3.6.5 类的实现 62

3.6.6 组件设置 63

3.6.7 界面功能的实现 63

3.6.8 程序清单 64

第4章 队列 68

4.1 队列的应用实例及概念 68

4.2 队列的存储方式 69

4.2.1 队列的链式存储结构 69

4.2.2 队列的顺序存储结构 71

4.3 队列的有关操作 73

4.3.1 循环队列的操作实现 73

4.3.2 链队列的操作实现 75

4.4 队列的ADT定义及类定义 77

4.4.1 队列的ADT定义 77

4.4.2 循环队列的类定义 78

4.4.3 链队列的类定义 79

4.5 应用实例的实现 80

4.6 实习四:循环队列演示程序 85

4.6.1 问题说明 85

4.6.2 界面外观及功能要求 86

4.6.3 实现要点 86

4.6.4 类定义 87

4.6.5 类的实现 87

4.6.6 组件设置 88

4.6.7 界面功能的实现 88

4.6.8 程序清单 89

第5章 串 93

5.1 串的应用实例及概念 93

5.2 串的存储结构 94

5.2.1 顺序存储结构 95

5.2.2 链式存储结构 96

5.3 串的基本操作 97

5.4 串的ADT定义及类定义 102

5.4.1 串的ADT定义 102

5.4.2 顺序串的类定义 103

5.5 实习五:串的演示程序 104

5.5.1 问题说明 104

5.5.2 界面外观及功能要求 104

5.5.3 实现要点 105

5.5.4 类定义 105

5.5.5 类的实现 106

5.5.6 组件设置 107

5.5.7 界面功能的实现 107

5.5.8 程序清单 108

第6章 二维数组 112

6.1 二维数组应用实例及概念 112

6.2 二维数组的存储结构 113

6.3 矩阵的有关运算 115

6.3.1 矩阵的二维数组表示 115

6.3.2 矩阵运算的实现 116

6.3.3 矩阵的类定义 118

6.4 矩阵的压缩存储 118

6.4.1 对称矩阵的压缩存储 118

6.4.2 对角矩阵的压缩存储 119

6.4.3 稀疏矩阵的压缩存储 119

6.5 稀疏矩阵的有关运算 123

6.5.1 三元组表的类定义 123

6.5.2 转置操作的实现 123

6.5.3 矩阵相乘操作的实现 126

6.6 实习六:八皇后演示程序(任选) 128

6.6.1 问题说明 128

6.6.2 界面外观及功能要求 128

6.6.3 实现要点 129

6.6.4 八皇后线程类类定义 130

6.6.5 类的实现 131

6.6.6 组件设置 132

6.6.7 界面功能的实现 132

6.6.8 程序清单 133

第7章 广义表 136

7.1 定义与基本运算 136

7.2 广义表的存储方式 138

7.2.1 头尾表示法 138

7.2.2 儿子兄弟表示法 139

7.3 广义表的递归算法 141

7.3.1 广义表的比较 141

7.3.2 成员判别 142

7.3.3 复制广义表 143

7.3.4 求广义表的深度 143

7.3.5 建立广义表的存储结构 145

7.3.6 打印广义表 148

7.4 广义表的类定义 149

7.5 实习七:广义表演示程序 151

7.5.1 问题说明 151

7.5.2 界面外观及功能要求 151

7.5.3 实现要点 152

7.5.4 类定义 152

7.5.5 类的实现 153

7.5.6 组件设置 154

7.5.7 界面功能的实现 154

7.5.8 程序清单 154

第8章 树与二叉树 158

8.1 树的基本概念 158

8.1.1 树的定义及应用 158

8.1.2 树的逻辑表示 159

8.1.3 基本术语 160

8.1.4 树的基本操作 161

8.2 二叉树 162

8.2.1 定义 162

8.2.2 基本性质 162

8.2.3 存储结构 164

8.2.4 二叉树的遍历 167

8.2.5 二叉树的类定义 173

8.3 线索二叉树 174

8.3.1 二叉树的线索化 174

8.3.2 二叉树的线索化算法 176

8.3.3 线索二叉树的应用 178

8.4 排序二叉树 180

8.4.1 排序二叉树的定义 180

8.4.2 排序二叉树的操作 180

8.5 树与森林 186

8.5.1 树的存储结构 187

8.5.2 森林与二叉树的转换 188

8.5.3 树的遍历 189

8.6 哈夫曼树 190

8.6.1 哈夫曼树的定义 190

8.6.2 哈夫曼树的构造 191

8.6.3 哈夫曼编码 192

8.7 实习八:二叉树遍历演示程序 194

8.7.1 问题说明 194

8.7.2 界面外观及功能要求 194

8.7.3 实现要点 195

8.7.4 类定义 195

8.7.5 类的实现 196

8.7.6 组件设置 197

8.7.7 界面功能的实现 197

8.7.8 程序清单 197

第9章 图 201

9.1 图的实例及概念 201

9.1.1 实例及定义 201

9.1.2 基本术语 203

9.1.3 基本操作 206

9.2 存储方式 206

9.2.1 邻接矩阵 206

9.2.2 邻接表 208

9.2.3 邻接多重表 210

9.3 图的遍历 211

9.3.1 深度优先搜索遍历 211

9.3.2 广度优先搜索遍历 213

9.3.3 图的类定义 215

9.4 图的应用 216

9.4.1 拓扑排序 216

9.4.2 最短路径 220

9.5 实习九:图的遍历演示程序 223

9.5.1 问题说明 223

9.5.2 界面外观及功能要求 223

9.5.3 实现要点 224

9.5.4 类定义 224

9.5.5 类的实现 225

9.5.6 组件设置 226

9.5.7 界面功能的实现 226

9.5.8 程序清单 226

第10章 查找 230

10.1 查找的有关概念 230

10.2 静态查找表 232

10.2.1 顺序表的查找 232

10.2.2 有序表的查找 234

10.2.3 静态树表的查找 237

10.2.4 索引顺序表的查找 240

10.3 动态查找表 241

10.3.1 排序二叉树 241

10.3.2 排序二叉树的类定义 244

10.3.3 B-树与B+树 245

10.4 哈希表 250

10.4.1 哈希表的概念 250

10.4.2 几种哈希函数 252

10.4.3 冲突的处理方法 255

10.4.4 哈希表的查找 256

10.5 实习十:排序二叉树演示程序 257

10.5.1 问题说明 257

10.5.2 界面外观及功能要求 257

10.5.3 实现要点 258

10.5.4 类定义 259

10.5.5 类的实现 259

10.5.6 组件设置 260

10.5.7 界面功能的实现 260

10.5.8 程序清单 261

第11章 排序 264

11.1 排序的有关概念 264

11.2 几种简单的排序算法 266

11.2.1 直接插入排序 266

11.2.2 冒泡排序 268

11.2.3 简单选择排序 270

11.3 几种快速的排序方法 273

11.3.1 快速排序 273

11.3.2 树形选择排序 276

11.3.3 堆排序 277

11.3.4 归并排序 281

11.4 基数排序 284

11.5 实习十一:排序算法演示程序任选 287

11.5.1 问题说明 287

11.5.2 界面外观及功能要求 287

11.5.3 实现要点 288

11.5.4 分类线程类类定义 288

11.5.5 类的实现 289

11.5.6 组件设置 290

11.5.7 界面功能的实现 290

11.5.8 程序清单 291

第12章 外部排序 297

12.1 外部排序概述 297

12.2 多路归并排序 298

12.2.1 多路归并与败者树 298

12.2.2 调整算法 300

12.2.3 初建树算法 300

12.2.4 k路归并算法 301

12.3 置换选择排序 302

附录 306

F.1 面向对象开发工具中的基本概念 306

F.1.1 消息与事件驱动 306

F.1.2 可视化 306

F.1.3 事件 306

F.1.4 事件处理 306

F.1.5 组件 307

F.1.6 属性 307

F.1.7 方法 307

F.2 开发环境 307

F.2.1 开发界面的组成 307

F.2.2 主菜单 308

F.2.3 快捷键板 308

F.2.4 组件板 309

F.2.5 对象监视器 309

F.2.6 窗体/程序化码编辑窗口 309

F.2.7 项目管理器 310

F.2.8 环境选择窗口 310

F.2.9 程序调试 310

F.3 Delphi应用程序的基本结构 310

F.3.1 DPR文件 310

F.3.2 PAS文件 311

F.3.3 DFM文件 311

F.3.4 变量的引用范围 312

F.4 会话控制组件 312

F.4.1 标签(LABEL) 312

F.4.2 编辑框(EDIT) 313

F.4.3 记录框(MEMO) 313

F.4.4 按钮(BUTTON) 313

F.4.5 图形按钮(BITBTN) 313

F.4.6 确认框(CHECKBOX) 313

F.4.7 无线按钮组(RADIOGRUP) 314

F.4.8 列表框(LISTBOX) 314

F.4.9 组合框(COMBOBOX) 314

F.5 开发过程 314

F.5.1 建立Delphi应用程序的基本步骤 314

F.5.2 操作要点 315

F.6 绘图 316

F.6.1 Tcanvas组件的属性 316

F.6.2 绘图方法 316

参考文献 318

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