数据结构基本概念:
一、基本概念和术语
1、数据:数据是信息的载体,是能被计算机所能理解和处理的符号集合,是程序加工的原料。
2、数据元素:数据元素是数据的基本组成单位,数据元素由数据项组成,数据项是构成数据元素的最基本单位,数据项不可分割,比如身份证这个数据是由姓名、性别、身份证号等数据项组成。
3、数据对象:数据对象是具有相同性质的数据元素的集合。是数据的子集。
4、数据类型:数据类型是一个值的集合和定义在此集合上的一组操作的总称。
1)原子类型,不可再分
2)结构类型,可分解为若干成分(分量)的数据类型
3)抽象数据类型,抽象数据组织及与之相关的操作
5、数据结构
数据结构是相互间存在某种特定关系的数据元素集合,数据结构主要包括以下三方面内容:逻辑结构、存储结构和数据的运算。
二、数据结构三要素
1、数据的逻辑结构:数据元素的结构关系,从逻辑关系上来描述数据,与数据的存储无关,独立于计算机存在,逻辑结构分为线性和非线性结构,线性表是典型的线形结构;集合、树和图是典型的非线性结构。
1)集合,数据中的数据元素之间只有同属一个集合这一个性质相同
2)线性结构,结构中数据元素存在一对一的关系。
3)树形结构,结构中的数据元素存在一对多的关系。
4)图状结构或网状结构,结构中的元素存在多对多的关系。
2、数据的存储结构
存储结构是数据结构在计算机中的表示,也被称作是物理结构。它包括数据元素的表示和关系的表示,数据的存储是通过计算机语言实现的逻辑结构,数据结构的存储主要有:顺序存储、链式存储、索引存储和散列存储。
1)顺序存储,把在逻辑上相邻的元素存储在物理上也相邻的存储单元中,元素之间的关系由存储单元邻接关系表示,可实现随机存取,但是只能使用相邻的一整块存储单元,会产生较多的外部碎片。
2)链式存储,不要求逻辑上相邻的元素物理上也相邻,借助元素存储地址的指针来表达各个元素之间的逻辑关系,可充分利用所有存储单元,但指针会占用额外的存储单元,并且指针只能实现顺序存取。
3)索引存储,在存储元素信息的同时附加索引表,索引表中的每项称为索引项(关键字,地址)检索速度快,但是索引表占用存储空间,并且进行数据更改的时候也要修改索引表。
4)散列存储:根据元素的关键字直接计算出存储位置,又叫哈希存储,检索和更改操作都很快,但是若散列函数不好可能会出现存储单元的冲突,解决此类问题会浪费时间和加大空间开销。