Какова производительность ContainsKey и TryGetValue? - PullRequest
8 голосов
/ 04 августа 2011

Я готовлюсь к интервью, и некоторые очевидные вопросы интервью, такие как подсчет частоты символов в строке, включают в себя помещение всех символов в Hashtable / Dictionary, чтобы получить O (n) время выполнения алгоритма.У меня вопрос, какова производительность, использующая ContainsKey и TryGetValue, чтобы проверить, был ли ключ уже вставлен в Hashtable?Могу ли я по-прежнему использовать алгоритм O (n) для таких задач, которые используют ContainsKey или TryGetValue?

1 Ответ

9 голосов
/ 04 августа 2011

При условии хорошего хэша без слишком большого количества коллизий, каждая из них является O (1) операциями.

Что касается того, как работают эти операции ... Я предлагаю вам прочитать хеш-таблицы .

...