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?
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 .