在学习简单的数据结构之前我们得了解一下数据结构的一些基本概念:
一、逻辑结构
集合:数据元素间除“同属于一个集合”外,无其他关系
线性结构:一个对一个,如线性表,栈,队列
树形结构;一个对多个,如树
图形结构:多个对多个,如图
二、物理结构
物理结构也称存储结构,是数据的逻辑结构在计算机存储内的表示(或映像)。
顺序存储结构:物理地址紧紧的挨着,数据被一个个的存放在这些紧挨着的地址中。
链式存储结构:物理地址上通过指针的形式来链接,数据存放在数据域中
索引存储结构:索引存储由索引表和节点组成的,索引表中是由节点的索引项组成。
索引项一般为节点的关键字,地址。
分类:如果每个节点都在索引表中有索引项,该索引表叫做稠密索引。
如果是一组节点在索引表中对应一个索引项,该索引表为稀疏索引。
按照关键字继续查找的叫做倒排索引,带有倒排索引的文件成为倒排文件,
搜索引擎中最常用的方法就是倒排索引。
散列存储结构(哈希存储):它是由散列算法对数据加工之后产生的散列值来对该节点
的数据进行标记,从而通过标记来快速找到相应的数据。
这里要说一说散列算法:
MD4:它适用于32位字长的处理器上用高速软件来实现-它是基于32位操作
数的位操作来实现的。
MD5:是MD4的增强版,它对输入仍以512位分组,其输出是4个32位字的
级联与MD4相同。MD5比MD4复杂,但是更加安全,在抗分析和抗
差分方面表现更好。
SHA-1:对于长度小于2的64次方的输入,产生长度为160bit的散列值,因此
抗穷举性更好。SHA-1设计是基于和MD4相同的原理,并且模仿了改
算法。
应用:文件校验,数字签名,鉴权协议。
数据结构的一些API(即增,删,改,除)的设计是基于数据结构本身的逻辑结构,但是其在具体
实现上却是基于数据结构的存储结构。
欢迎各位指出不足之处