按密钥查找的C#哈希表类是O(1)?

时间:2011-03-10 06:28:54

标签: c# hashtable time-complexity

我读了“大O”并想到了上述内容。这是正确的吗??

回答(由下面的@Mehrdad提供):最坏的情况是O(n)

编辑:对不起我的意思是0(1),谢谢@Coxy也纠正了。

1 个答案:

答案 0 :(得分:1)

是的,它是O(1),或是恒定时间。

我们说查找的顺序为1 ,或者数学表示法为O(1)。这意味着,在最坏的情况下,查找需要常量时间*,无论数据如何。

这是摊销的最坏情况时间 - 你可能想要查看它,但基本上,这意味着,当在哈希表的生命周期内展开时,成本是不变的。 实际最坏情况时间可能与此处不同,具体取决于您如何在哈希表中创建存储桶 - 它实际上可以是从O(1)O(n)的任何位置,但理论上最好的是我在这里写的O(1)

另一个注意事项:我实际上对自己的符号有点草率:真的正确地做requires set notation

相关问题