0

我有一个关于使用以字符串为键的哈希的问题。假设我有一个将字符串映射到双精度的哈希。

问题是,我听说有人说最好将字符串标记为整数,并将哈希映射整数映射为双精度而不是字符串到双精度?这在 Python 或 C++ 中通常会更快(2 个问题)还是无关紧要。假设我们在 C++ 中使用 boost unsorted_map,所以它就像一个 Python 字典。

如果键实际上是(字符串,字符串)-> double 或在 c++ unsorted_map> 中,这是否重要?

4

1 回答 1

0

如果你对字符串进行标记,你应该小心不要使用相同的标记来处理不同的字符串。std::unordered_map 也将使用散列进行快速搜索,但也会处理具有相同散列但具有不同值的字符串。当然,这需要一些时间。

如果您可以以这样的方式对字符串进行标记,使得两个字符串永远不会具有相同的标记,那么使用带有整数的映射作为键是非常好的主意。

于 2013-05-02T18:05:18.850 回答