-2

我有很多关于数据结构词汇的问题。我确定我知道这些是什么/做什么,但我没有学到适合它们的术语,或者我忘记了它们,所以当有人在解释中使用它们时,我对它们的确切含义感到困惑。

在课堂上,我们正在处理哈希表,并且出现了术语“key”和“bucket”。我试着找出它们的意思,到目前为止我所理解的是,一个键是指哈希表中的一个元素,而一个桶是指哈希表中的某个位置。例如,HashTable[index] 指的是一个桶(哈希表中的“行”,如果你愿意的话)。如果哈希表中的那个点包含一个链(并且链表由互连的“块”组成),那么一个键将是该链中的单个“块”。那是对的吗?(如您所知,我也忘记了链表中“块”的术语)

在另一个主题上,我们也在今年早些时候处理摊销翻倍,我不知道“摊销分析”指的是什么。

我知道其中一些问题可能看起来很愚蠢,但我想让我的术语正确。(当有人在解释某事时使用不正确的术语时,我无法强调这是多么令人沮丧。就像我的 Calc 教授将“做点积”称为“与向量结婚”时一样)

提前致谢。

4

1 回答 1

3

这实际上不是 C++ 术语。C++ 有一种叫做 an 的东西unordered_map,它提供类似哈希表的功能,但“哈希表”、“桶”、“键”和其他术语是通用的计算机科学/编程数据结构和算法术语。

有关更多详细信息,请参阅http://en.wikipedia.org/wiki/Hash_table,并注意文章中几乎没有提到 C++。

于 2012-12-04T21:02:35.400 回答