看动画学算法之:hashtable

文章目录

  • 简介
  • 散列表的关键概念
  • 数组和散列表
    • 数组的问题
    • hash的问题
  • 线性探测
  • 二次探测
  • 双倍散列
  • 分离链接
  • rehash

简介

java中和hash相关并且常用的有两个类hashTable和hashMap,两个类的底层存储都是数组,这个数组不是普通的数组,而是被称为散列表的东西。

散列表是一种将键映射到值的数据结构。它用哈希函数来将键映射到小范围的指数(一般为[0…哈希表大小-1])。同时需要提供冲突和对冲突的解决方案。

今天我们来学习一下散列表的特性和作用。

文末有代码地址,欢迎下载。

散列表的关键概念

散列表中比较关键的三个概念就是散列表,hash函数,和冲突解决。

散列是一种算法(通过散列函数),将大型可变长度数据集映射为固定长度的较小整数数据集。

散列表是一种数据结构,它使用哈希函数有效地将键映射到值,以便进行高效的搜索/检索,插入和/或删除。

散列表广泛应用于多种计算机软件

你可能感兴趣的:(看动画学算法,算法,数据结构,java,hashtable)