散列表的基本概念
基本思想:记录的存储位置与关键字之间存在对应关系
对应关系——hash函数:Loc(i) = H(keyi) → hash函数
例如:
根据散列函数 H(key) = k
查找 key = 9,则访问H(9) = 9号地址,若内容为9则成功;
若查不到,则返回一个特殊值,如空指针或空记录
优点:查找效率高
缺点:空间效率低
散列表的若干术语
散列方法(杂凑法)
选取某个函数,依该函数按关键字计算元素的存储位置,并按此存放;
查找时,由同一个函数对给定值k计算地址,将k与地址单元中元素关键码进行对比,确定查找是否成功。
散列函数(杂凑函数):散列方法中使用的转换函数。
散列表(杂凑表):按上述思想构造出的表
散列函数: H ( k e y ) = k H(key) = k H(key)=k
冲突:不同的关键码映射到同一个散列地址
k e y 1 ≠ k e y 2 ,但是 h ( k e y 1 ) = H ( k e y 2 ) key1 ≠ key2,但是h(key1) = H(key2)