标签: c# .net algorithm big-o
我正准备采访,一些明显的采访问题,例如计算字符串中字符的频率,包括将所有字符放入Hashtable / Dictionary中,以便获得算法的O(n)运行时间。我的问题是,使用ContainsKey和TryGetValue检查密钥是否已插入Hashtable会影响性能是多少?对于使用ContainsKey或TryGetValue的问题,我是否仍然可以使用O(n)算法?
ContainsKey
TryGetValue
答案 0 :(得分:9)
假设没有太多冲突的好散列,每个都是O(1)操作。
至于这些操作的运作方式......我建议你阅读hash tables。