我正在阅读有关哈希表,哈希函数及其操作的渐进复杂性的信息,但我坚持在这里。
建议如何为哈希表中的元素分配和取消分配存储 通过将所有未使用的插槽链接到空闲列表来实现自身。假设一个插槽可以存储 一个标志和一个元素加一个指针或两个指针。 所有词典和 空闲列表操作应在预期的O(1)时间运行。是否需要将空闲列表设置为 双向链接,还是单链接的空闲列表就足够了?
这一切都很清楚,但有一件事仍然令人困惑。它说
所有字典和自由列表操作都应在O(1)个预期时间内运行。
删除,插入肯定会在O(1)时间运行但是搜索操作如何在O(1)时间运行?
寻找了CLRS解决方案,但是上面写着
搜索未修改,因此预期时间为O(1)。
这可能意味着搜索操作从没有O(1)运行时间。