【发布时间】:2011-08-04 18:44:19
【问题描述】:
我正在准备面试,一些明显的面试问题(例如计算字符串中字符的频率)涉及将所有字符放入 Hashtable/Dictionary 以获得算法的 O(n) 运行时间。我的问题是,使用ContainsKey 和TryGetValue 检查是否已将密钥插入哈希表对性能有何影响?对于使用 ContainsKey 或 TryGetValue 的此类问题,我还能使用 O(n) 算法吗?
【问题讨论】:
我正在准备面试,一些明显的面试问题(例如计算字符串中字符的频率)涉及将所有字符放入 Hashtable/Dictionary 以获得算法的 O(n) 运行时间。我的问题是,使用ContainsKey 和TryGetValue 检查是否已将密钥插入哈希表对性能有何影响?对于使用 ContainsKey 或 TryGetValue 的此类问题,我还能使用 O(n) 算法吗?
【问题讨论】:
假设没有太多冲突的良好哈希,每个都是 O(1) 操作。
至于这些操作是如何工作的......我建议你阅读hash tables。
【讨论】: