数据结构教程:面向对象实现方法

数据结构教程:面向对象实现方法
作 者: 朱振元 朱承
出版社: 西安电子科技大学出版社
丛编项: 高等学校电子信息类规划教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 数据结构
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《数据结构教程:面向对象实现方法》作者简介

内容简介

本书采用面向对象的Java语言实现抽象数据类型,对每一种抽象的数据类型先定义成接口,然后再结合各种具体的存储结构加以实现,并以各实现类为线索对各种操作的实现方法加以说明。其内容包括:线性表、栈、队列、串、数组、矩阵、集合、广义表、树、图等数据结构及查找和排序的方法。本书突出应用性,在书中除列举算法设计实例外,还使用开发工具JBuilderX对典型的应用问题加以实现。 本书语言通俗,条理清晰,应用性强,可作为高等院校计算机专业的教科书,也可作为应用程序开发人员及电脑爱好者的技术参考书。

图书目录

第1章 课程概论

1. 1 课程的初步认识

1. 2 数据结构的基本概念

1. 2. 1 基本术语

1. 2. 2 数据结构的概念

1. 2. 3 逻辑结构和物理结构

1. 2. 4 数据结构形式定义

1. 3 数据类型及面向对象概念

1. 3. 1 数据类型概述

1. 3. 2 抽象数据类型

1. 3. 3 实现方法

1. 3. 4 面向对象的概念

1. 4 算法及算法分析

1. 4. 1 算法特性

1. 4. 2 算法描述

1. 4. 3 算法设计的要求

1. 4. 4 算法分析

1. 5 实习一:常用算法

第2章 线性表

2. 1 线性表实例及概念

2. 2 线性表的存储方式

2. 2. 1 线性表的顺序存储结构

2. 2. 2 线性表的链式存储结构

2. 3 线性表的有关操作

2. 3. 1 顺序表的操作实现

2. 3. 2 单链表的操作实现

2. 3. 3 静态链表的操作实现

2. 3. 4 双向循环链表的操作实现

2. 4 线性表的ADT定义及类定义

2. 4. 1 线性表的ADT定义

2. 4. 2 顺序表的类定义

2. 4. 3 线性链表的类定义

2. 5 实习二:顺序表演示程序

2. 5. 1 问题说明

2. 5. 2 界面外观及功能要求

2. 5. 3 实现要点

2. 5. 4 类定义

2. 5. 5 类的实现

2. 5. 6 组件设置

2. 5. 7 界面功能的实现

2. 5. 8 程序清单

第3章 栈

3. 1 栈的应用实例及概念

3. 2 栈曲存储方式

3. 2. 1 栈的顺序存储结构

3. 2. 2 栈的链式存储结构

3. 3 栈的有关操作

3. 3. 1 顺序栈的操作实现

3. 3. 2 链钱的操作实现

3. 4 栈的ADT定义及类定义

3. 4. 1 栈的ADT定义

3. 4. 2 顺序饯的类定义

3. 4. 3 链栈的类定义

3. 5 应用实例的实现

3. 5. 1 表达式中括号配对的合法性检查

3. 5. 2 表达式求值

3. 6 实习三:链栈演示程序

3. 6. 1 问题说明

3. 6. 2 界面外观及功能要求

3. 6. 3 实现要点

3. 6. 4 类定义

3. 6. 5 类的实现

3. 6. 6 组件设置

3. 6. 7 界面功能的实现

3. 6. 8 程序清单

第4章 队列

4. 1 队列的应用实例及概念

4. 2 队列的存储方式

4. 2. 1 队列的链式存储结构

4. 2. 2 队列的顺序存储结构

4. 3 队列的有关操作

4. 3. 1 循环队列的操作实现

4. 3. 2 链队列的操作实现

4. 4 队列的ADT定义及类定义

4. 4. 1 队列的ADT定义

4. 4. 2 循环队列的类定义

4. 4. 3 链队列的类定义

4. 5 应用实例的实现

4. 6 实习四:循环队列演示程序

4. 6. 1 问题说明

4. 6. 2 界面外观及功能要求

4. 6. 3 实现要点

4. 6. 4 类定义

4. 6. 5 类的实现

4. 6. 6 组件设置

4. 6. 7 界面功能的实现

4. 6. 8 程序清单

第5章 串

5. 1 串的应用实例及概念

5. 2 串的存储结构

5. 2. 1 顺序存储结构

5. 2. 2 链式存储结构

5. 3 串的基本操作

5. 4 串的ADT定义及类定义

5. 4. 1 串的ADT定义

5. 4. 2 顺序串的类定义

5. 5 实习五:串的演示程序

5. 5. 1 问题说明

5. 5. 2 界面外观及功能要求

5. 5. 3 实现要点

5. 5. 4 类定义

5. 5. 5 类的实现

5. 5. 6 组件设置

5. 5. 7 界面功能的实现

5. 5. 8 程序清单

第6章 二维数组

6. 1 二维数组应用实例及概念

6. 2 二维数组的存储结构

6. 3 矩阵的有关运算

6. 3. 1 矩阵的二维数组表示

6. 3. 2 矩阵运算的实现

6. 3. 3 矩阵的类定义

6. 4 矩阵的压缩存储

6. 4. 1 对称矩阵的压缩存储

6. 4. 2 对角矩阵的压缩存储

6. 4. 3 稀疏矩阵的压缩存储

6. 5 稀疏矩阵的有关运算

6. 5. 1 三元组表的类定义

6. 5. 2 转置操作的实现

6. 5. 3 矩阵相乘操作的实现

6. 6 实习六:八皇后演示程序(任选)

6. 6. 1 问题说明

6. 6. 2 界面外观及功能要求

6. 6. 3 实现要点

6. 6. 4 八皇后线程类类定义

6. 6. 5 类的实现

6. 6. 6 组件设置

6. 6. 7 界面功能的实现

6. 6. 8 程序清单

第7章 广义表

7. 1 定义与基本运算

7. 2 广义表的存储方式

7. 2. 1 头尾表示法

7. 2. 2 儿子兄弟表示法

7. 3 广义表的递归算法

7. 3. 1 广义表的比较

7. 3. 2 成员判别

7. 3. 3 复制广义表

7. 3. 4 求广义表的深度

7. 3. 5 建立广义表的存储结构

7. 3. 6 打印广义表

7. 4 广义表的类定义

7. 5 实习七:广义表演示程序

7. 5. 1 问题说明

7. 5. 2 界面外观及功能要求

7. 5. 3 实现要点

7. 5. 4 类定义

7. 5. 5 类的实现

7. 5. 6 组件设置

7. 5. 7 界面功能的实现

7. 5. 8 程序清单

第8章 树与二叉树

8. 1 树的基本概念

8. 1. 1 树的定义及应用

8. 1. 2 树的逻辑表示

8. 1. 3 基本术语

8. 1. 4 树的基本操作

8. 2 二叉树

8. 2. 1 定义

8. 2. 2 基本性质

8. 2. 3 存储结构

8. 2. 4 二叉树的遍历

8. 2. 5 二叉树的类定义

8. 3 线索二叉树

8. 3. 1 二叉树的线索化

8. 3. 2 二叉树的线索化算法

8. 3. 3 线索二叉树的应用

8. 4 排序二叉树

8. 4. 1 排序二叉树的定义

8. 4. 2 排序二叉树的操作

8. 5 树与森林

8. 5. 1 树的存储结构

8. 5. 2 森林与二叉树的转换

8. 5. 3 树的遍历

8. 6 哈夫曼树

8. 6. 1 哈夫曼树的定义

8. 6. 2 哈夫曼树的构造

8. 6. 3 哈夫曼编码

8. 7 实习八:二叉树遍历演示程序

8. 7. 1 问题说明

8. 7. 2 界面外观及功能要求

8. 7. 3 实现要点

8. 7. 4 类定义

8. 7. 5 类的实现

8. 7. 6 组件设置

8. 7. 7 界面功能的实现

8. 7. 8 程序清单

第9章 图

9. 1 图的实例及概念

9. 1. 1 实例及定义

9. 1. 2 基本术语

9. 1. 3 基本操作

9. 2 存储方式

9. 2. 1 邻接矩阵

9. 2. 2 邻接表

9. 2. 3 邻接多重表

9. 3 图的遍历

9. 3. 1 深度优先搜索遍历

9. 3. 2 广度优先搜索遍历

9. 3. 3 图的类定义

9. 4 图的应用

9. 4. 1 拓扑排序

9. 4. 2 最短路径

9. 5 实习九:图的遍历演示程序

9. 5. 1 问题说明

9. 5. 2 界面外观及功能要求

9. 5. 3 实现要点

9. 5. 4 类定义

9. 5. 5 类的实现

9. 5. 6 组件设置

9. 5. 7 界面功能的实现

9. 5. 8 程序清单

第10章 查找

10. 1 查找的有关概念

10. 2 静态查找表

10. 2. 1 顺序表的查找

10. 2. 2 有序表的查找

10. 2. 3 静态树表的查找

10. 2. 4 索引顺序表的查找

10. 3 动态查找表

10. 3. 1 排序二叉树

10. 3. 2 排序二叉树的类定义

10. 3. 3 B一树与B十树

10. 4 哈希表

10. 4. 1 哈希表的概念

10. 4. 2 几种哈希函数

10. 4. 3 冲突的处理方法

10. 4. 4 哈希表的查找

10. 5 实习十:排序二叉树演示程序

10. 5. 1 问题说明

10. 5. 2 界面外观及功能要求

10. 5. 3 实现要点

10. 5. 4 类定义

10. 5. 5 类的实现

10. 5. 6 组件设置

10. 5. 7 界面功能的实现

10. 5. 8 程序清单

第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. 3. 4 归并排序

11. 4 基数排序

11. 5 实习十一:排序算法演示程序任选

11. 5. 1 问题说明

l1. 5. 2 界面外观及功能要求

11. 5. 3 实现要点

11. 5. 4 分类线程类定义

11. 5. 5 类的实现

11. 5. 6 组件设置

11. 5. 7 界面功能的实现

11. 5. 8 程序清单

第12章 外部排序

12. 1 外部排序概述

12. 2 多路归并排序

12. 2. 1 多路归并与败者树

12. 2. 2 调整算法

12. 2. 3 初建树算法

12. 2. 4 k路归并算法

12. 3 置换选择排序

附录

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

F. 1. 1 消息与事件驱动

F. 1. 2 可视化

F. 1. 3 事件

F. 1. 4 事件处理

F. 1. 5 组件

F. 1. 6 属性

F. 1. 7 方法

F. 2 开发环境

F. 2. 1 开发界面的组成

F. 2. 2 主菜单

F. 2. 3 快捷键板

F. 2. 4 组件板

F. 2. 5 对象监视器

F. 2. 6 窗体/程序化码编辑窗口

F. 2. 7 项目管理器

F. 2. 8 环境选择窗口

F. 2. 9 程序调试

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

F. 3. 1 DPR文件

F. 3. 2 PAS文件

F. 3. 3 DFM文件

F. 3. 4 变量的引用范围

F. 4 会话控制组件

F. 4. 1 标签(LABEL)

F. 4. 2 编辑框(EDIT)

F. 4. 3 记录框(MEMO)

F. 4. 4 按钮(BUTTON〕

F. 4. 5 图形按钮(BITBTN)

F. 4. 6 确认框(CHECKBoX)

F. 4. 7 无线按钮组(RADIOGRUP)

F. 4. 8 列表框(LISTB0x)

F. 4. 9 组合框(COMBOBOX)

F. 5 开发过程

F. 5. 1 建立Delphi应用程序的基本步骤

F. 5. 2 操作要点

F. 6 绘图

F. 6. 1 Tcanvas组件的属性

F. 6. 2 绘图方法

参考文献