散列表基础概念
散列表(Hash Table),也叫哈希表,是一种根据键(Key)直接访问在内存存储位置的数据结构。
它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。
这个映射函数叫做散列函数(Hash Function),存放记录的数组叫做散列表。
核心概念:
- 散列函数:将键映射到数组索引的函数
- 冲突:不同的键被映射到同一个位置
- 负载因子:已填入元素数量与散列表大小的比值
散列表算法学习平台
选择散列算法:
选择冲突解决方法:
除留余数法
公式:h(key) = key mod m
其中m为散列表大小。本演示中m=8,所以h(key) = key % 8
线性探测法
公式:(hash + i) % tableSize
当发生冲突时,按顺序检查下一个位置