当前位置: 首页 > 知识库问答 >
问题:

使用散列的数组子集

颜思淼
2023-03-14

检查arr2是否是子集。输入:arr1[] = { 11, 1, 13, 21, 3, 7},arr2[] = { 11, 3, 7, 1}输出:arr2[]arr1[]的子集

如果我们使用线性探测。哈希表将如下所示:{0=7,1=1,2=13,3=21,4=3,5=11}其中第一项是索引(哈希代码),如果您看到元素7,第二项是值。哈希代码是7%6=1。所以从1开始,它必须通过检查每个bucket来遍历整个哈希表。这里的时间复杂度是O(n)

稍后,我们将使用哈希表搜索arr2中的所有元素。

所以总的时间复杂度将是Len(arr2)*O(n)。

那么散列的好处是什么呢?

共有1个答案

慕璞
2023-03-14

哈希表中搜索操作的最佳情况复杂度不是O(n),而是O(1)。所以在最好的情况下,你会得到复杂度Len(arr2)*O(1)=

 类似资料:
  • 问题内容: 可以散列吗? 例如,我知道元组的散列是可能的: 但是可以对a进行哈希处理吗? 可能的解决方案: 这里是对列表哈希的非常深入的解释。 问题答案: 就试一试吧: 所以,你可以得到的,并因为是不可变的,你不能做到这一点,并因为他们是可变的。

  • 散列函数非常有用,几乎出现在所有信息安全应用程序中。 哈希函数是将数字输入值转换为另一个压缩数值的数学函数。 散列函数的输入具有任意长度,但输出始终具有固定长度。 散列函数返回的值称为message digest或简称hash values 。 下图说明了散列函数。 Java提供了一个名为MessageDigest的类,它属于java.security包。 此类支持诸如SHA-1,SHA 256,

  • 首先,定义两个整数和,其中,两者在编译时都已知。例如:和。 接下来,定义一组整数(或者,如果这使答案更简单的话),并将其称为。例如: 具有元素的子集的数目由公式给出。例 我的问题是:为这些子集创建一个完美的最小哈希。示例哈希表的大小为或。 我不关心排序,只关心哈希表中有56个条目,并且我可以从一组整数中快速确定哈希。我也不在乎可逆性。 哈希示例:。(数字42并不重要,至少在这里不重要) 是否有一种

  • 我需要使用RSA方法给图片添加数字签名。为此,我首先需要用SHA256散列这个文件。但是如何做到这一点呢?按照我的理解,我应该得到一个字节hash[]的数组,里面有散列的字节。 例如在c#示例MD5中有这样一种方法:我像这样尝试过,但是我如何获得哈希数组以及如何更改最终哈希的大小?

  • 我有一个的值为 我想返回 的数据帧 我最初试图将数据帧转换成数据集并映射数据集。但是,我无法用MurmurHash3重现散列。总之我是无法再现https://github . com/Apache/spark/blob/master/SQL/core/src/main/Scala/org/Apache/spark/SQL/functions . Scala # l 2165-l 2168。 对如何

  • 考虑 HashSet 作为一个 HashMap,在此处我们只关心键(HashSet<T> 实际上只是一个包围 HashMap<T, ()> 的装包(wrapper))。(原文:Consider a HashSet as a HashMap where we just care about the keys (HashSet<T> is, in actuality, just a wrapper a