数据结构有三要素:
1.逻辑结构
逻辑结构是指元素之间的逻辑关系,即从逻辑上描述数据。
数据的逻辑结构分为:(1)线性结构和(2)非线性结构
1.1 线性结构
结构中的数据元素只存在一对一的关系
1.2 非线性结构
集合:结构中的数据元素之间除了同属一个集合的关系之外,没有其他的关系
树性结构: 结构中的数据元素存在一对多的关系
图状结构或者网状结构: 结构中的数据元素之间存在多对多的关系
2.存储结构
存储结构是指数据结构在计算机中的表示(又称为映像),也称为物理结构。数据的存储结构是逻辑结构用计算机语言的实现。
数据的存储结构主要有:1.顺序结构 2.链式存储 3.索引存储 4.散列存储
2.1 顺序存储
把逻辑上相邻的元素存储在物理地址上也相邻的存储单元里,元素之间的关系由存储单元的邻接关系来体现。
优点:可以实现随机存取,每个元素占用最少的存储空间;缺点:只能使用相邻的一整块存储单元,因此可能产生较多的外部碎片
2.2 链接存储
不要求逻辑上相邻的元素在物理位置上也相邻,借助指示元素存储地址的指针表示元素之间的逻辑关系。
优点:是不会出现碎片现象,充分利用所有的存储单元。缺点:每个元素因存储指针而占用额外的存储空间,并且只能实现顺序存取。
2.3索引存储
在存储元素信息的同时,还建立附加的索引表。索引表中的每一项成为索引项,索引项的一般形式是:地址。
优点:检索速度快;缺点:增加了附加的索引表,会占用较多的存储空间,另外在修改和删除数据的时候要修改索引表,会花费较多的时间。
2.4散列存储
根据元素的关键字直接计算出该元素的存储地址,又称为Hash存储。
优点:是检索,增加和删除节点操作都很快;缺点:散列函数不好的话,可能会出现存储单元冲突,就会增加时间和空间上的开销。
3.数据的运算
运算的定义:针对逻辑结构的 运算的实现:针对存储结构的
总结和补充:
数据的读写方式:
1.顺序存取
需要顺序查找存储介质才能定位所需数据的存取方式
相关数据结构:链表
相关硬件结构:磁带
2.随机存取
“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。
相关数据结构:顺序表
网友评论