数据结构与算法C++实现(10)之哈希表

编程入门 行业动态 更新时间:2024-10-10 23:25:32

<a href=https://www.elefans.com/category/jswz/34/1769880.html style=数据结构与算法C++实现(10)之哈希表"/>

数据结构与算法C++实现(10)之哈希表

一、概念


散列技术是在记录的存储位置和他的关键字之间建立一个确定的对应关系f,是的每个关键字key对应一个存储位置f(key)。查找时,根据这个对应的关系找到给定值key的映射f(key),若查找集合中存在这个记录,则必定在f(key)的位置上。我们把这种对应关系f成为散列函数,又称为哈希(Hash)函数。采用散列技术将记录存储在一块连续的存储空间中,这块连续空间称为散列表或哈希表(Hash-Table)。

二、散列表的构造方法


2.1 直接定址法
直接定址法使用下面的公式


f(key)=a×key+b,b为常数
 

比如统计出生年份,那么就可以使用f(key)=key−1990 f(key) = key-1990f(key)=key−1990来计算散列地址。


2.2 除留取余法
这种方法是最常用的散列函数构造方法,对于表长为m的散列公式为
 

更多推荐

数据结构与算法C++实现(10)之哈希表

本文发布于:2024-03-06 17:46:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1715969.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据结构   算法   哈希表

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!