hash散列总结

主要使用场景场景

  • 主要用于需要比较的场景,比如串中或者集合中是否出现过另一个串和集合中的X.
  • 在做题过程中在限定了大小(一般由如ASCII字符集,1000,10^ 4,10^ 5等)较小的范围出现的时候可以使用hash散列.
  • 做查找是否含有||是否出现过非常好用.

定义

哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
一般而言这个哈希函数可以是由值对应到数组的下标,这个数组也就是散列表.复杂情况比较难弄

时间复杂度

生成一般ON查找可以做到O1

基本思想

转换储存,实际上也是加密方式的一种吧.

利弊分析

  • 时间复杂度很快
  • 大部分时候用一个数组就可以写成,比较简单.

  • 复杂起来可能比较难写,比如真的需要一个hashtable的场景
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在数据结构中,散列Hashing)是一种将数据元素通过散列函数映射到存储位置的方法。散列函数将数据元素的关键字作为输入,并计算出一个对应的散列值,然后将该散列值转化为存储位置,将数据元素存储在对应的位置上。散列的目的是使得数据元素能够均匀地分布在存储位置上,以便快速地进行插入、查找和删除操作。 散列结构是一种特殊的数据存储结构,它通过散列函数将关键字映射到存储位置,实现了快速的查找操作。散列结构通常使用散列表(Hash Table)来存储数据元素,散列表是一个具有固定大小的数组,每个数组元素称为槽(Slot),每个槽可以存储一个或多个数据元素。 散列结构的特点是查找操作的平均时间复杂度为O(1),即不受数据规模的影响,可以快速地找到要查找的数据元素。然而,散列结构也存在一些问题,例如散列冲突(Hash Collision),即不同的关键字映射到同一个存储位置,这种情况下需要使用解决冲突的方法,如链地址法、开放地址法等。 总结来说,散列在数据结构中是一种用于快速查找数据元素的技术,它通过散列函数将关键字映射到存储位置,实现了快速的插入、查找和删除操作。散列结构使用散列表来存储数据元素,具有查找时间复杂度为O(1)的特点,但也需要解决散列冲突的问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值