【发布时间】:2017-05-02 23:47:58
【问题描述】:
检查 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 开始,它必须通过检查每个存储桶来遍历完整的哈希表。这里的时间复杂度是 O(n)
稍后我们将使用哈希表搜索arr2 中的所有元素。
因此总体时间复杂度将为 Len(arr2)*O(n)。
那么散列有什么好处呢?
【问题讨论】:
标签: arrays hash hashtable subset