关于哈希表的一点理论基础

1.哈希表

数组就是哈希表,关键元素就是数组的下标。主要用于判断一个元素是否在集合中出现。

2.哈希函数

3.哈希碰撞

即有两个元素的下标相同

3.哈希碰撞的解决办法

        (1)拉链法:

                        放到链表中,但要注意控制哈希表的大小,别让链表太长

        (2)线性探测法:

                        一定要保证tableSize大于dataSize,我们需要依靠哈希表中的空位来解决碰撞问题

4.常见的三种哈希结构(图片截图来自《代码随想录》)

        (1)数组

        (2)set(集合)

        (3)map(映射)

5.总结

快速判断一个元素是否出现在一个集合里面的时候就要考虑哈希表。

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
哈希表是一种基于哈希函数的数据结构,它可以用来存储和检索数据。在哈希表中,数据元素会通过哈希函数计算得到一个唯一的哈希值,然后将该哈希值作为索引存储在数组中。这样一来,当需要查找或插入数据时,只需通过哈希函数计算得到元素的哈希值,并在数组中找到对应的位置即可,从而实现快速的数据查找和插入操作。 在Java中,哈希表的实现有多种方式。其中最常用的是使用HashMap类来实现哈希表。HashMap是Java集合框架中的一部分,它基于哈希表的原理来存储和操作键值对数据。在HashMap中,键和值都可以是任意类型的对象。通过使用键的哈希值来确定其在数组中的位置,HashMap能够提供近乎常数时间复杂度的查找、插入和删除操作。此外,HashMap还提供了一系列的方法来支持对哈希表的遍历和操作。 除了HashMap,Java还提供了其他一些实现哈希表的类,比如Hashtable和LinkedHashMap等。这些类在实现上可能略有不同,但基本原理都是相同的,即通过哈希函数将数据映射到数组中,并提供快速的数据访问能力。 总结来说,哈希表在Java中的实现主要是通过使用HashMap类或其他相关类来实现的,它们可以用来解决快速查找和插入数据的问题。通过使用哈希函数计算得到唯一的哈希值,并将该值作为索引存储在数组中,哈希表能够实现高效的数据操作和访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值