300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 数据结构的基本概念和抽象数据类型

数据结构的基本概念和抽象数据类型

时间:2022-11-10 16:20:00

相关推荐

数据结构的基本概念和抽象数据类型

1、基本概念和术语

数据:是对客观事物的符号表示。

数据元素:数据的基本单位,一个数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位

数据对象:性质相同的数据元素的集合是数据的一个子集

数据结构:相互之间存在一种或多种特定的关系的数据元素的集合

4种基本结构:

1.线性结构:结构中的数据元素之间存在一个对一个的关系

2.树形结构:结构中的数据元素之间存在一个对多个的关系

3.图状结构或网状结构:结构中的数据元素之间存在多个对多个的关系

4.集合:结构中的数据元素之间除了“同属于一个集合”的关系之外别无关系

数据结构的形式定义为:数据结构是一个二元组

Data_Structure=(D,S):D为数据元素的有限集,S是D上关系的有限集

逻辑结构:结构定义中的关系描述

存储结构/物理结构:数据结构在计算机中的表示,包括数据元素的表示和关系的表示

计算机中最小单位:位

数据元素:若干个位组合起来形成的一个串(元素/节点可以看成数据元素在计算机中的一个映射)

数据域:当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串为数据域

数据元素在计算机中的表示方法:顺序映像和非顺序映像

顺序映像:借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系

非顺序映像:借助指示元素存储地址的指针来表示元素之间的逻辑关系

数据元素在计算机中的存储结构:顺序存储结构和链式存储结构

数据类型是一个值的集合和定义在这个值集上的一组操作的总称。例如:整型变量,其值集为某个区间上的整数,定义在其上的操作为加减乘除和取模等算术运算

若按其值的不同特性,可以分为下列三种类型:

原子类型:属原子类型的变量的值是不可分割的。例如:C语言中的基本类型(整型、实型、字符型和枚举类型)、指针类型和空类型

结构类型:结构类型的值是由若干成分按某种结构组成的,因此是可以分解的,并且它的成分可以是非结构的,也可以是结构的。

固定聚合类型:属于该类型的变量,其值由确定数目的成分按某种结构组成

可变聚合类型:构成可变聚合类型“值”的成分的数目不确定

和数据结构的形式定义相对应,抽象数据类型可用以下三元组表示:

(D,S,P)/D表示数据对象,S是D上的关系集,P是对D的基本操作集。定义抽象数据类型:

ADT抽象数据类型名{

数据对象:<数据对象的定义>

数据关系:<数据关系的定义>

基本操作:<基本操作的定义>

}ADT抽象数据类型名

基本操作的定义格式:

基本操作名(参数表)

初始条件:<初始条件描述>//执行操作之前数据结构和参数应该满足的条件,若不满足则操作失败返回出错信息

操作结果:<操作结果描述>//操作正常完成之后数据结构的变化和应返回的结果

基本操作有两种参数:赋值参数只为操作提供输入值

引用参数以&打头,除可提供输入值外,还将返回操作结果

例:

ADT Triplet{

数据对象:D={e1,e2,e3|e1,e2,e3∈ElemSet(定义了关系运算的某个集合)}

数据关系:R1={<e1,e2>,<e2,e3>}

基本操作:

IsAscending(T)

初始条件:三元组T已存在。

操作结果:如果T的3个元素按升序排列,则返回1,否则返回0.

}ADT Triplet

多边数据类型:其值的成分不确定的数据类型

2、抽象数据类型的表示与实现

抽象数据类型通过固有数据类型来表示和实现,即利用处理器中已存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作。

C语言的一些核心子集:

预定义常量和类型

数据结构的表示(存储结构)用类型定义(typedef)描述

自定义函数

赋值语句

选择语句

循环语句

结束语句

输入输出语句

注释

基本函数

逻辑运算约定

3、算法和算法分析

算法的性质:有穷性,确定性,可行性,输入,输出

算法设计的要求:正确性,可读性,健壮性,效率和低存储量需求

算法效率的度量:

事后统计的方法(使用计算机内部的计时功能)

事前分析估算:一个算法是由控制结构(顺序、分支和循环3种)和原操作(指固有数据类型的操作)构成的,则算法时间由这两者共同决定

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。