您的位置:首页 > 理论基础

《计算机科学导论》之抽象数据类型(ADT)

2016-01-11 22:37 288 查看
抽象数据类型1、引言
1抽象数据类型和数据结构的关系

抽象数据类型(ADT)是一种比数据结构处于更高抽象层的数据类型,ADT使用数据结构来实现。

2数据类型的定义和应用于数据的操作定义是ADT背后的一部分概念,隐藏数据上的操作是如何进行的。

3分类:简单抽象数据类型和复杂抽象数据类型

简单ADT:整数、实数、字符、指针;

复杂ADT:需要建立。不需要详细说明实现过程的泛化操作成为抽象。

抽象概念意味着:

①知道一个数据类型能做什么;

②如何去做是隐藏的。

4定义

抽象数据类型就是与对数据类型有意义的操作封装在一起的数据声明。然后,用它封装数据和操作并对用户隐藏。

抽象数据类型:

①数据的定义;

②操作的定义;

③封装数据和操作。

5抽象数据类型的模型

抽象数据类型的模型分两个部分:数据类型和操作函数(公有的和私有的);

规则:
①数据结构(如数组、链表)在抽象数据类型里面,被公有和私有操作使用;

②应用程序只能通过接口访问公有操作;

③私有操作是抽象数据类型的内部用户使用的;

④虽然公有操作和接口应该独立于实现,但私有操作依赖于抽象数据类型实现时所选择的数据类型。
6抽象数据类型的实现

计算机语言不提供抽象数据类型包。要使用抽象数据类型,首先要实现它们,把它们存储在库中。

7几种复杂的数据类型

①栈

②队列

③广义线性表
④树(二叉树、二叉搜索树)

⑤图
2、栈
1栈的定义

栈是一种限制线性列表,该类型表的添加和删除操作只能在一端实现,称为栈顶。

倒转的属性是栈被称为后进先出数据结构的原因。

2栈的操作

①建栈
②入栈

③出栈

④空

3栈的抽象数据类型

4栈的应用

①倒转数据

②配对数据

③数据延迟使用

④回溯步骤

5栈的实现

①使用数组实现:有带两个域的记录
②使用链表实现:有一个有栈名字的额外节点
3、队列
1队列的定义

2队列的操作

3队列的抽象数据类型

4队列的应用

5队列的实现

4、广义线性表
1广义线性表的定义

2广义线性表的操作

3广义线性表的抽象数据类型

4广义线性表的应用

5广义线性表的实现

5、树的基础知识
6、二叉树
1二叉树的递归定义

2二叉树的操作

3二叉树的应用

4二叉树的实现

7、二叉搜索树
1二叉搜索树的定义

2二叉搜索树的抽象数据类型

3二叉搜索树的实现
8、图
1图的定义

2图的应用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息