目录
《五》抽象数据类型(Abstract Data Type---ADT)
《一》数据结构概念
数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。
数据结构是之间存在一种或者多种特定关系的数据结构元素的集合。
《二》数据
数据:对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行处理和考虑。
数据项:一个数据元素可由若干个数据项组成。
数据对象:性质相同的数据元素的集合是一个子集。
《三》结构
结构分为:逻辑结构和物理结构(存储结构)
逻辑结构
四类基本结构:集合,线性结构,树形结构,图状结构或网状结构
物理结构(存储结构)
数据结构的表示和关系的表示:顺序存储结构和链式存储结构
位-数据域-元素(结点)
数据域:当数据元素由若干个数据项组成时,位串中对应于各个数据项的子位串为数据域。
元素:由若干位组合起来形成的一个位串
数据结构的形式定义为:
二元组:Data Structure = (D,S) 【D是数据元素的有限集,S是D上关系的有限集】
《四》数据类型
一个值的集合和定义在这个值上的一组操作的总称
原子类型
结构类型{
固定聚合类型
可变聚合类型
}
《五》抽象数据类型(Abstract Data Type---ADT)
一个数学模型以及定义在该模型上的一组操作。只要他的数学特性不变,都不会影响其外部的使用。
ADT和数据类型实质上是一个概念。
一个抽象数据类型的软件模块通常包含定义,表示和实现
三元组(D,S,P)【D是数据对象,S是D上的关系集,P是对D的基本操作】
ADT 抽象数据类型名{ 数据类型:<数据对象的定义> 数据关系:<数据关系的定义> 基本操作:<基本操作的定义> }ADT 抽象数据类型名 基本操作名(参数表) 初始条件:<初始条件的描述> 操作结果:<操作结果的描述>
ADT三元组的定义
ADT Triplet{ 数据对象:D={e1,e2,e3|e1,e2,e3 ∈ElemSet(定义了关系运算的某个集合)} 数据关系:R1={<e1,e2>,<e2,e3>} 基本操作: InitTriplet(&T,v1,v2,v3) 操作结果:构造了三元组T,元素e1,e2和e3分别被赋以参数v1,v2,v3的值 DestoryTriplet(&T) 操作结果:三元组被销毁 Get(T,i,&e) 初始条件:三元组T已存在,1<=i<=3 操作结果:用e返回T的第i元值 Put(&T,,i,e) 初始条件:三元组T已存在 操作结果:改变T的第i元的值为e IsAscending(T) 初始条件:三元组T已存在 操作结果:如果T的3个元素按升序排列,则返回1,否则返回0 IsDescending(T) 初始条件:三元组T已存在 操作结果:如果三个元素已降序排列,返回1,否则,返回0 Max(T,&e) 初始条件:三元组T已存在 操作结果:用e返回T的三个元素中的最大值 Min(T,&e) 初始条件:三元组T已经存在 操作结果:用e返回T中的最小值 }ADT Triplet
《六》算法和算法分析
算法的五个特性:
有穷性、确定性、可行性、输入、输出
算法设计的要求
正确定、可读性、健壮性、效率与低存储量的需求