数据结构基本概念
基本概念:
1、数据
数据就是信息的载体,其实通俗来讲就是计算机输入,处理和输出的东西。
2、数据元素
数据元素就是数据的基本单位,数据项就是构成数据元素的不可分割的最小单位。举个例子,学生记录由学号,姓名和性别构成,那么学生记录就是一个数据元素,学号,姓名,性别就是数据项。
3、数据对象
数据对象就是有相同性质的数据元素的集合。
4、数据类型
数据类型是一个值的集合和定义在此集合上的一组操作的总称。
1)原子类型。其值不可再分的数据类型。像int,float,double。
2)结构类型。其值可以再分。例如结构体,它的值就可以再分。
3)抽象数据类型。抽象数据组织及与之相关的操作。
5、抽象数据类型(ADT,abstract Data Type)
是指一个数学模型及定义在该模型上的一组操作。通常用(数据对象,数据关系,基本操作集)这样的三元组来表示。
6、数据结构
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
三要素:
1、数据的逻辑结构
逻辑结构就是数据元素与元素之间的逻辑关系。它与计算机存储数据的方式无关,是独立与计算机的。
常见的逻辑结构有:线性结构和非线性结构。
线性结构:数据元素之间只存在一对一的关系。(线性表)
非线性结构:
1)集合(同属于一个集合)
2)树形结构(一对多)
3)图状结构(多对多)
2、数据的存储结构
存储结构其实就是数据在计算机中的表示方法,又称物理结构。
分类:
1)顺序存储:逻辑上相邻的元素物理上也相邻。
优点:随机存储,每个元素占用最少的存储空间。
缺点:只能使用相邻的一整块存储单元,因此可能产生较多的外部碎片。
2)链式存储:不要求逻辑上相邻的元素在物理上也相邻。
优点:不会出现碎片现象,能充分利用所有存储单元。
缺点:每个元素因存储指针而占用额外的存储空间,而只能实现顺序存取。
3)索引存储:在存储元素信息的同时,还建立附加的索引表。索引表的每项称为索引项,索引项的一般形式是(关键字,地址)。
优点:检索速度快
缺点:增加附加的索引表后会占用较多的存储空间,在增加删除数据的时候要修改索引表,花费的时间较多。
4)散列存储:根据元素的关键字直接计算出该元素的存储地址,又称hash存储。
优点:检索、增加和删除结点的操作都很快
缺点:若散列函数不好,则可能出现元素存储单元冲突,而解决冲突会增加时间和空间开销
3、数据的运算
包括运算的定义与实现。定义是针对逻辑结构的,指出运算的功能;实现是针对存储结构的,指出运算的具体操作步骤。
Last updated