【问题标题】:What is the algorithm for searching for entries using linear probing?使用线性探测搜索条目的算法是什么?
【发布时间】:2019-06-05 06:53:50
【问题描述】:

请有人告诉我使用线性探测搜索条目的一般算法。

我有以下内容,但我认为它是伪代码而不是算法: 1)使用散列函数查找项目应该在哪里的索引。 2)如果不存在,则搜索该哈希位置之后的记录,直到找到它,或者直到找到一个空记录。 3) 如果在找到记录之前表中有空位,则表示该记录不存在。

【问题讨论】:

标签: algorithm linear-probing


【解决方案1】:

为了搜索给定的键 x,检查 T 的单元格,从索引 h(x) 处的单元格开始(其中 h 是哈希函数)并继续到相邻的单元格 h(x) + 1, h (x) + 2, ...,直到找到一个空单元格或存储键为 x 的单元格。如果找到包含该键的单元格,则搜索将返回该单元格中的值。否则,如果找到一个空单元格,则该键不能在表中,因为它会优先放置在该单元格中,而不是任何尚未搜索的后续单元格。在这种情况下,搜索返回的结果是该键不存在于字典中

【讨论】:

  • 非常感谢您的回答,您能否也提供一个使用线性探测删除条目的算法?
猜你喜欢
  • 1970-01-01
  • 2016-01-08
  • 1970-01-01
  • 2018-06-23
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
  • 2012-04-07
相关资源
最近更新 更多