Was ist die Leistung von ContainsKey und TryGetValue?

8

Ich bereite auf Interviews vor, und einige offensichtliche Interviewfragen wie das Zählen der Häufigkeit von Zeichen in einer Zeichenfolge beinhalten, alle Zeichen in ein Hashtable / Dictionary zu setzen, um O (n) Laufzeit für den Algorithmus zu erhalten. Meine Frage ist, wie hoch die Leistung ist, wenn ContainsKey und TryGetValue verwendet werden, um zu prüfen, ob ein Schlüssel bereits in die Hashtable eingefügt wurde? Kann ich noch einen O (n) Algorithmus für Probleme wie diese haben, die ContainsKey oder TryGetValue verwenden?

    
alexD 04.08.2011, 18:44
quelle

1 Antwort

9

Wenn man von einem guten Hash ohne zu viele Kollisionen ausgeht, handelt es sich jeweils um O (1) -Operationen.

Wie diese Operationen funktionieren ... Ich schlage vor, Sie lesen sich auf Hashtabellen .

    
Jon Skeet 04.08.2011, 18:48
quelle

Tags und Links