数据结构术语?

时间:2012-12-04 20:59:41

标签: data-structures language-agnostic terminology

我对数据结构词汇有很多疑问。我确定我知道这些是/做了什么,但我没有为他们学习适当的术语,或者我忘了他们,所以当有人在解释中使用它们时,我很困惑它们究竟是什么意思。

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

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

我知道其中一些看似愚蠢的问题,但我想让我的术语正确。 (我不能强调当有人在解释某些内容时使用不正确的术语时会有多么令人沮丧。就像当我的Calc教授将'做点积'称为'与载体结合'时)

提前致谢。

1 个答案:

答案 0 :(得分:3)

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

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