散列概念
散列是一种用实现信息存储和快速检索的技术
1.散列的引入
例子:要在字符集合为256的元素中查找第一个重复的字符。
一般做法:1.创建一个数组,存储这些字符,并且对元素进行初始化然后遍历数组进行比较+1。关键字为k的元素将存储到数组k位置,
散列函数
散列函数就是把“键”转换索引
散列函数设计原则:计算简单,分布均匀
-
1.常见哈希函数
散列冲突
线行探测法:rehash=(n+1)%tablesize;每次都是查找下一个位置是否冲突。
Rehash=(n+k^2)%tablesize
如果某个位置被占用了则探测i+12、i+22,i+3^2等位置,
哈希表