Python 2.7 哈希表与2哈希函数链接的运行时复杂性

Python 2.7 哈希表与2哈希函数链接的运行时复杂性,python-2.7,data-structures,hash,hashmap,Python 2.7,Data Structures,Hash,Hashmap,这个问题以一种新的哈希表链接方法处理基于冲突的问题 有两个散列函数:第一个函数h1(x)=x mod m1 使用此函数,所有项都散列到主散列表中。 在主哈希表的每个索引中,有一个内部哈希表,它使用函数2对键进行哈希:h2(x)=x mod m2和(m1!=m2) 例如,假设m1=5,m2=3 我想插入2。。h1(2)=2模5=2和h2(2)=2模3=2 这意味着2将插入内部表的第二个索引中主表的第二个索引中 当主表中发生冲突时(这意味着h1(x)=x%m1=y%m1=h1(y)),我们将进入第二

这个问题以一种新的哈希表链接方法处理基于冲突的问题

有两个散列函数:第一个函数
h1(x)=x mod m1
使用此函数,所有项都散列到主散列表中。 在主哈希表的每个索引中,有一个内部哈希表,它使用函数2对键进行哈希:
h2(x)=x mod m2
(m1!=m2)

例如,假设m1=5,m2=3 我想插入2。。h1(2)=2模5=2和h2(2)=2模3=2 这意味着2将插入内部表的第二个索引中主表的第二个索引中


当主表中发生冲突时(这意味着h1(x)=x%m1=y%m1=h1(y)),我们将进入第二个散列函数h2,计算h2(x)和h2(y),并将它们分别放入内部散列表中相应的索引中。假设h1(x)=x%5和h2(x)=x%3,例如,如果我们插入7和12,我们将得到h1(7)=2和h1(12)=2,这意味着两者都将位于主哈希表的索引2中。然后我们计算(h2(7)=1和h2(12)=0)的h2,这意味着我们把7放在内部表的索引1中,把12放在索引0中。(这样我们就避免了冲突)


这是考试中的问题,关于这个问题的第一部分是,如果这个数字-051517(m1=5,m2=3)有冲突,显然0和15有5和3的模。第二个问题是关于搜索最坏情况下的运行时复杂性?第三部分是给出5个最坏的数字,如果我们搜索表中的数字2,当主表中发生冲突时(这意味着h1(x)=x%m1=y%m1=h1(y)),我们去第二个散列函数h2,计算h2(x)和h2(y),我们把每一个都放在内部散列表中相应的索引中。假设h1(x)=x%5和h2(x)=x%3,例如,如果我们插入7和12,我们将得到h1(7)=2和h1(12)=2,这意味着两者都将位于主哈希表的索引2中。然后我们计算(h2(7)=1和h2(12)=0)的h2,这意味着我们把7放在内部表的索引1中,把12放在索引0中。(这样我们就避免了冲突)

这是考试中的问题,关于这个问题的第一部分是,如果这个数字-051517(m1=5,m2=3)有冲突,显然0和15有5和3的模。第二个问题是关于搜索最坏情况下的运行时复杂性?第三部分是给出5个数字,如果我们在表中搜索数字2,它们是最坏的情况

问题是搜索最坏情况下的运行时复杂性是什么? 举例来说,如果我们搜索数字2,可能导致最坏情况的5个数字

我认为复杂性是o(1),我用了这5个数字 71217242


这对吗?有人能帮忙吗

如何解决内部哈希表中的冲突?使用哈希函数2 h2(x)=x mod m2,这里冲突的定义是h1(x)=h1(y)和h2(x)=h2(y)和x=让我试着用另一种方式问一下-当冲突发生时你会怎么做?当冲突发生在主表中时(这意味着h1(x)=x%m1=y%m1=h1(y)),我们将进入第二个散列函数h2,计算h2(x)和h2(y),并将它们放在内部散列表的相应索引中。假设h1(x)=x%5和h2(x)=x%3,例如,如果我们插入7和12,我们将得到h1(7)=2和h1(12)=2,这意味着两者都将位于主哈希表的索引2中。然后我们计算(h2(7)=1和h2(12)=0)的h2,这意味着我们将7放入内部表的索引1中,将12放入内部表的索引0中。(这样我们就避免了冲突)如果第二个表中存在冲突,会发生什么?