存储结构是通过计算机语言所编制的程序来实现的,因而是依赖具体的计算机语言的。
顺序存储:将数据结构中各元素按照其逻辑顺序存放于存储器一片连续的存储空间中(如一维数组),如表L=(a1,a2,........,an)的顺序结构,如下图所示:
链式存储:将数据结构中各元素分布到存储器的不同点,用地址(或链指针)方式建立它们之间的联系,由此得到的存储结构为链式存储结构。如表L=(a1,a2,.......,an)的链式存储结构:
索引存储: 在存储数据的同时,建立一个附加的索引表,即索引存储结构=数据文件+索引表。
散列存储(又称Hash):散列技术是一种力图将数据元素的存储位置与关键码之间建立确定对应关系的查找技术。散列法存储的基本思想是:由节点的关键码(值)决定节点的存储地址。散列技术除了可以用于查找外,还可以用于存储。
散列是数组存储的一种发展,相比数组,散列的数据访问速度要高于数组,因为可以依据存储数据的部分内容找到数据在数组中的存储位置,进而能够快速实现数据的访问。
输入x ——> f(x) ——> index(位置)