数据的四种基本存储方法
来源:互联网 发布:淘宝虚假发货如何辨别 编辑:程序博客网 时间:2024/06/05 08:51
数据的存储结构可用以下四种基本存储方法得到:
(1)顺序存储方法
该方法把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。
由此得到的存储表示称为顺序存储结构 (Sequential Storage Structure ),通常借助程序语言的数组描述。
该方法主要应用于线性的数据结构。非线性的数据结构也可通过某种线性化的方法实现顺序存储。
(2)链接存储方法
该方法不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系由附加的指针字段表示。由此得到的存储表示称为链式存储结构(Linked Storage Structure), 通常借助于程序语言的指针类型描述。
(3)索引存储方法
该方法通常在储存结点信息的同时,还建立附加的索引表。 索引表由若干索引项组成。若每个结点在索引表中都有一个索引项,则该索引表称之为稠密索引(Dense Index )。若一组结点在索引表中只对应一个索引项,则该索引表称为稀疏索引(Spare Index)。索引项的一般形式是:
(关键字、地址)
关键字是能唯一标识一个结点的那些数据项。稠密索引中索引项的地址指示结点所在的存储位置;稀疏索引中索引项的地址指示一组结点的起始存储位置。
(4)散列存储方法
该方法的基本思想是:根据结点的关键字直接计算出该结点的存储地址。
四种基本存储方法,既可单独使用,也可组合起来对数据结构进行存储映像。
同一逻辑结构采用不同的存储方法,可以得到不同的存储结构。选择何种存储结构来表示相应的逻辑结构,视具体要求而定,主要考虑运算方便及算法的时空要求。
数据结构三方面的关系
数据的逻辑结构、数据的存储结构及数据的运算这三方面是一个整体。孤立地去理解一个方面,而不注意它们之间的联系是不可取的。 存储结构是数据结构不可缺少的一个方面:同一逻辑结构的不同存储结构可冠以不同的数据结构名称来标识。
【例】线性表是一种逻辑结构,若采用顺序方法的存储表示,可称其为顺序表;若采用链式存储方法,则可称其为链表;若采用散列存储方法,则可称为散列表。
数据的运算也是数据结构不可分割的一个方面。在给定了数据的逻辑结构和存储结构之后,按定义的运算集合及其运算的性质不同,也可能导致完全不同的数据结构。
【例】若对线性表上的插入、删除运算限制在表的一端进行,则该线性表称之为栈;若对插入限制在表的一端进行,而删除限制在表的另一端进行,则该线性表称之为队列。更进一步,若线性表采用顺序表或链表作为存储结构,则对插入和删除运算做了上述限制之后,可分别得到顺序栈或链栈,顺序队列或链队列。
转载至:http://www.chinadmd.com/theme/6IL8J5o595758154A75b7HJ3SY153F696JoE6/
- 数据的四种基本存储方法
- 数据结构——四种基本的数据存储结【顺序存储】【链接存储】【索引存储】【哈希存储】
- Android基本数据存储方法
- 基本的数据存储
- 【Android】数据的四种存储方式
- IOS 数据存储的四种常用
- cocos2d数据存储的四种形式
- Android数据的四种存储方式
- Android数据的四种存储方式
- Android数据的四种存储方式
- Android数据的四种存储方式
- Android数据的四种存储方式
- Android数据的四种存储方式
- Android数据的四种存储方式
- Android数据的四种存储方式
- Android数据的四种存储方式
- Android数据的四种存储方式
- Android数据的四种存储方式
- 虚拟内存
- 第十五周项目一(2)——验证算法之快速排序
- 编码问题总结
- 一文说尽C++赋值运算符重载函数(operator=)
- LD_LIBRARY_PATH用法详解
- 数据的四种基本存储方法
- help用法总结(基于材料:“老托福听力93篇”)
- CodeBlocks
- android 7.0应用间共享文件----FileProvider
- Python中的正则表达式
- 设计模式学习笔记(三)工厂方法模式
- Linux source命令
- iOS开发UI篇—Quartz2D简单图形绘制(二)直线,三角形,矩形,扇形,弧,圆
- 【学习笔记】Python基础-字典Dict和Set和List与Str扩展