文章目录
- 简介
- 散列表的关键概念
- 数组和散列表
- 数组的问题
- hash的问题
- 线性探测
- 二次探测
- 双倍散列
- 分离链接
- rehash
简介
java中和hash相关并且常用的有两个类hashTable和hashMap,两个类的底层存储都是数组,这个数组不是普通的数组,而是被称为散列表的东西。
散列表是一种将键映射到值的数据结构。它用哈希函数来将键映射到小范围的指数(一般为[0…哈希表大小-1])。同时需要提供冲突和对冲突的解决方案。
今天我们来学习一下散列表的特性和作用。
文末有代码地址,欢迎下载。
散列表的关键概念
散列表中比较关键的三个概念就是散列表,hash函数,和冲突解决。
散列是一种算法(通过散列函数),将大型可变长度数据集映射为固定长度的较小整数数据集。
散列表是一种数据结构,它使用哈希函数有效地将键映射到值,以便进行高效的搜索/检索,插入和/或删除。
散列表广泛应用于多种计算机软件