索引存储和哈希存储(散列存储)区别

首先看看课本的索引存储结构的解析
索引表里必须存关键字这一项,这就出现很大的冗余

但是散列存储(哈希存储)的区别特殊性:体现在它的关键码能确定数据元素的存储位置;还可以用来制作缓存,在没有redis等缓存手段的时代使用哈希存储结构来制作缓存的

看一条题目:
索引存储和哈希存储(散列存储)区别_第1张图片

索引存储和哈希存储(散列存储)区别_第2张图片
上图用一个数组来存储关键字,这数组里面的关键字都是通过一个散列函数来确定的

索引存储:
除建立存储结点信息外,还建立附加的索引表来标识结点的地址。索引表由若干索引项组成。

特点:

索引存储结构是用结点的索引号来确定结点存储地址,其优点是检索速度快,缺点是增加了附加的索引表,会占用较多的存储空间。

散列存储:
散列存储,又称hash存储,是一种力图将数据元素的存储位置与关键码之间建立确定对应关系的查找技术。

散列法存储的基本思想是:由节点的关键码值决定节点的存储地址。散列技术除了可以用于查找外,还可以用于存储。

其实没必要咬文嚼字。哈希也可以用来制作索引。完成索引的功能。。。
mysql的索引表使用B+树来制作的

你可能感兴趣的:(数据结构)