【发布时间】:2014-11-01 02:28:49
【问题描述】:
我对我正在学习的算法分析课程中提出的一个猜想感到有些困惑。这是问题。
假设我们有一个结构为列表向量的哈希表,通过顺序搜索桶来解决冲突。在不对使用的哈希函数做任何假设的情况下,显示以下内容,其中 n 是表中的项目数,b 是表实现中的桶(或槽)数。 e(k) 表示大小为 k 的桶的预期数量,p(k) 表示给定桶正好有 k 个项目的概率。
我将上述描述解释为基本上描述了将 n 个项目插入 b 个桶中的任何一个的情况。一个桶可以包含 n 到 0 个项目。它可以是空的,也可以包含所有 n 个项目。我们不能对表示任何一项将被插入任何桶的概率的 p(k) 函数做任何假设。
我需要证明的猜想是.....
证明 e(k) = bp(k)
也就是说,证明大小为 k 的桶的预期数量等于任何给定桶有 k 个项目的概率乘以 b 个桶。
我想通过说任何一个桶接收到一个项目的概率只是 p(1) = 1/b 来开始这个问题。但这不起作用,因为我必须假设 p(k) 函数将项目均匀地分配到存储桶中,这可能不一定会这样做。
我不确定如何用这么少的信息解决这个问题。 非常感谢您的帮助。
【问题讨论】:
标签: math data-structures hash probability