7.4.1散列表的基本概念

 

散列表哈希表我原来认识的好像太浅显了。面包三姐妹哈哈(*≧▽≦)ノシ))

是一种新的方式叫做散列查找,什么是散茶找的,在去之前一定要介绍一个基本概念,就是3点表那么学习,想代表之前我们先来回忆一下之前所学习过的所长的方式,那么无论是税率查找还是承办查找,还是之后学习的新的数据结构,例数b加数学,他们的查找方式都是基于比较的9上的,我们都要通过比较来找到我们想要找到的元素的位置,那我们本节课所学习的3a表3a查找是一种全新的查找的概念,我们不用通过比较的方式就可以直接找到对应元素位置,那么我们先来看一个实际生活中小例子,那么这是一群小朋友,我们让他站成了一排,根据我们之前的跳方式,那么他大体都是我们意思的,比较找到对应,我们想要找到那个小朋友的位置小朋友小朋友是不是按照。所有找的那个小朋友那么对应,如果是3a查找呢,我们观察这些小朋友是不是按照彩虹的顺序赤橙黄绿青蓝紫的顺序排列的,那么如果我们知道采用顺序,就一定知道小红一定是排在1号位置到小黄,明天是排在2号位置到小长一直排在3号位置的,等等等等等,那么这样我们是不是就不用通过一次比较来找到每一个小朋友的位置了,我们通过一个基本常识直接让小红映射到了1号位置,小黄映射到了2号位置,以此类推,那么这样的方式,这样的概念,其实就有点类似我们今天所要学习的散文查找散文表,那么cc参照就是通过了一种映射的手段,让我们每一个税元素映射到存储空间上的一个特定的位置,那么这三篇文章我们是通过什么样的形式一个把查找表中的第。散列函数来表示的,那么这样一个把查找表中的关键字映射成给关键词对应的地址的这样一个函数就叫做散列函数,我们来看如果现在有一个整合单元,它的地址为aDDR,如果它存放的关键字为t的话,那么我们就用这样的散列函数表示了t与aDDR的关系,也就是我们通过对k传入到函数函数中进行计算,就可以算得addI这样一个值ad dd der恰好是k对一个单元的地址,那么这就是三函数的一个作用和表示,接下来我们来看一个小例子,现在我们有三个行政单元,大家发现了它对应的下标是不是012啊,这里我们并没有用地址,所以大家千万不要有局限性,就是三维函数计算出的最终结果,可以表示为单元的地址或者是我们的这个。单元的地址也可以表示为数组的下标或者是记录的所有,它只要可以表示我们都应该想要查找的这个关键字,这个数据元素的位置就可以了,那么这里我们把它表示为数组下标,那么现在我们有三个数的位置,假设现在我们规定sin函数,函数为一个区域函数它是如何计算的,就是通过关键字取三来计算数,对应数组的一个下标,假设现在我们要存放到三个整数为63 26,它是如何通过sin函数进行存放的呢?例如我们来看第1个数字66通过 k取6,现在是k6取于3,它是不是得到02,那么6就存放在数下标0的位置,那么13取于3之后得到的是1,所以它存放在数下标1的位置之后的结果十二。那么26取之后得到结果是2,所以呢存放在属下标2的位置,这样我们是不是就存放了63 26这样三个数字啊,我们是通过对应的规定的三个函数来通它们进行放的,那么我们发现如果我们想要找到关键字三的位置是不是就可以通过13÷3那么13次方的就是数下标的唯一的这样一个位置啊,就是通过a函数hr是这样一个三条函数直接计算出每一个数字对应存档的数组下标,这就是它的过程,以及我们达到三个月有这样一个目的,那么接下来大家时候就知道什么是小了,我们根据关键字直接进行访问的数据结构,就如我们摄取的这样一个例子的数据结构,他在给老婆的资源这样的例子是。这种关键词与存储地址之间的一种直接映射关系,我们称这样的一种结构就叫做散列表,那么我们观察上一个例子,是不是就是一个散列表的例子啊?我们讲每一个关键字都与它对应的直接访问的地址建立了一种直接的应声关系,散位表的查找是不是直接可以通过三函数直接找到对应关系的城市单元运用关键词的下标啊?那么这样的时间复杂度是不是就是大不一样?那么它既然比我们之前所学习到比较基于比较的查找方式来的要更快,而且效率要更高的话,为什么没有得到广泛的应用呢?其实它存在一个问题就是冲突的问题,什么是冲突的问题呢?我们来观察,现在我们把数字6存放在数下标为0的位置,因为我们通过取于的这样一个散函数计算得到的它的作用下标现在又要处方一个我们通过三十三。这是放3的话,我们通过三取于3是不是也要存放在数下标点的位置啊?这样就产生了冲突,因为我们把两个不同的数字,两个不同的关键字映射到了同一个存储单元下,它们地址是相同的,所以我们就有这样冲突的概念,三个函数可能会把多个不同的关键字映射到同一地址下的这样一种情况就叫做冲突,所以为什么三函数列表没有得到广泛的应用呢?因为它存在这样这样一个冲突的问题,虽然我们查找的效率可能在理想的情况下会非常高,但是如果产生冲突的话,它的市场消费也会降低下来,那么其实这样的冲突是无法避免的,所以在我们接下来学习过程当中,主要学习的一点就是如果设计好飒为函数来,尽量减少冲突的发生,并且可以不知道这些冲突查找这就是。来尽量减少冲突的发生,并且如果冲突发生了,可以不让这些冲突影响我们对应的查找,这就是我们下一节课所要学习的主要内容,然后这就是本节课的全部内容。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值