哈希

哈希查找是一种高效的查找方法,通过哈希函数将元素存储在特定位置,以加快查找速度。本文介绍了哈希查找的基本概念、哈希函数的构造方法如直接定址法、除留余数法、平方取中法、折叠法等,以及如何通过闭散列法解决冲突,包括线性探查和二次探查。哈希表的负载因子是影响冲突的重要因素,保持其不超过0.5可避免过多冲突。最后讨论了哈希表中元素的增删操作。
摘要由CSDN通过智能技术生成

在前面我们已经学到很多在一个结构中查找一个元素,不同的结构的方法不同且实现时的时间复杂度与空间复杂度都有不同,但是但部分的查找都是经过比较,从而找出自己要查找的主要元素。由此我们就想,有没有一种方法不通过比较,从而快速的找到需要的数据,因此,在这里我们就提出了哈希查找,利用存储位置并按照此位置进行存放元素,从而极大的实现了我们的查找效率。下面我们将对哈希查找展开来讲。
目前我们了解到的查找主要有以下几种:
这里写图片描述
一、基本概念
1、哈希方法的提出
由于在查找与搜索的过程中,如果数据量十分的庞大,要搜索一个数据,将变得十分困难,在数据结构中搜索一个元素需要进行一系列的关键码比较。搜索的效率取决于搜索过程中比较的次数。因此要解决这个问题,将变得十分重要,因此,找到一个有效的方法变得十分重要,因此哈希查找的提出,极大的情况下是为了解决在搜索中的数据量较大的问题。
2、基本概念
构造一种存储结构,使元素的存储位置与它的关键码之间建立一个确定的对应函数关系:Hash(),那么每个元素关键码与结构中的一个唯一的存储位置相对应:Address = Hash(Key),此处的Hash函数,将产生在哈希表中的唯一一个位置,利用这个位置从而存储数据,将极大的提高数据的存储与查找的效率。

  • 在插入时,根据待插入元素的关键码,以此函数计算出该元素的存储位置并按此位置进行存放。
  • 在搜索时,对元素的关键码进行同样的计算,把求得的函数值当做元素的存储位置,在结构中按此位置取元素比较,若关键码相等,则搜索成功。该方式即散列方法(Hash Method),在散列方 法中使用的转换函数叫着散列函数(Hashfunction),构造出来的结构叫散列表(Hash Table)。
    3、哈希的基本思想—–>哈希表类似于数组
    以关键字K为自变量,通过一个确定的函数f,计算出对应的函数值f (k),把这个值解释为关键字等于K的结点的存储地址。查找时,再根据要查找的关键字用同样的函数计算地址,然后到相应的存储单元取出要查找的结点。按这个思想建立的表,称为哈希表,称函数f 为哈希函数,称f (k)的值为哈希地址。
    4、
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值