《一》数据结构概念
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。这些数据元素不是孤立存在的,而是有着某种关系,这种关系构成了某种结构。
数据结构 = 数据 + 结构
1.数据:所有能被输入计算机并被处理的符号的集合。
2.数据元素:数据的基本单位。
3.数据项:构成数据的不可分割的最小单位,一个数据结构由若干个数据项组成。
4.数据对象:相同性质的数据元素的集合,是数据的一个子集。
5.数据类型:一个值的集合和定义在该集合上的一组操作的总称。
6.原子类型:值不可再分割的数据类型。
7.抽象数据类型(ADT):一个数字模型以及定义在该模型上的一组操作。其定义只与逻辑特性有关。通常采用(数据对象,数据关系,基本操作集)这样的三元组来表示抽象数据类型。
8.数据结构:相互之间存在的一种或多种特定关系的数据元素的集合,包括逻辑结构,存储结构和数据的运算。
9.数据的三要素:逻辑结构,物理结构,数据元素。
10.数据的逻辑结构:数据元素之间的逻辑关系。
11.集合:结构中的数据元素之间除“同属一个集合”的关系之外,没有任何关系。
12.线性结构:结构中的数据元素之间只存在一对一的关系。
13.树形结构:结构中的元素存在一对多的关系。
14.图状结构或网状结构:结构中的数据数据元素之间存在多对多的关系。
15.数据的存储结构:数据结构在计算机中的表示,也称物理结构。
16.顺序结构:把逻辑上相邻的元素存储在物理位置上相邻的存储单元中,通过储存单元的邻接关系来表示元素之间的逻辑关系。
优点:实现随机存储,每个元素占用空间小。
缺点:只能使用相邻的一整块存储单元,会产生较多的外部碎片。
17.链式存储:不要求逻辑上相邻的元素在物理位置上也相邻,通过指针表示元素之间的逻辑关系。
优点:不会出现碎片现象,充分利用所有的存储单元。
缺点:每个元素要存储指针,需要多占用部分存储空间,而且只能顺序存取。
18.索引存储:存储信息的同时,建立附加的索引表,索引表中的每一项称为索引项,索引项的一般形式为(关键字,地址)。
优点:检索速度快。
缺点:增加索引表,占用较多存储空间,增删数据时也要修改索引表,花费较多的时间。
19.散列存储:根据元素的关键字直接计算出该元素的存储位置,也称Hash存储
优点:检索,增删节点操作都很快。
缺点:若散列函数不好,则可能会出现元素存储单元的冲突,解决冲突会增加时间和空间的开销。
《二》数组(呈线性排列)
1.定义方式:数据类型 数组名【数组长度】;
2.定义:数组是n(n>1)个相同类型数据元素a1,a2,...,an构成的有限序列,其逻辑表示为:
A = (a1,a2,...,an)
其中,ai(1<=i<=n)表示数组A的第i个元素。
3.数组的优缺点
优点:
a.按照索引查询元素速度快;
b.能存储大量数据;
c.按照索引遍历数组方便
缺点:
a.根据内容查找元素速度慢;
b.数组的大小一经确定不能改变;
c.数组只能存储一种类型的数据;
d.增加,删除元素效率慢;
e. 未封装任何方法,所有操作都需要用户自己定义。