Une opération de recherche OR contains
pour single peut être O(n)
dans le pire des cas, alors? Pour n
les éléments recherchent dans hashSet
sera O(n^2)
?
Oui, mais c'est vraiment le pire des cas: si tous les éléments du HashSet
ont le même code de hachage (ou un code de hachage menant au même compartiment). Avec un hashCode
correctement écrit et un échantillon de clé normalement distribué, une recherche est O (1).
Oui, mais la raison pour laquelle nous avons des HashSets est que nous rencontrons ce pire cas avec une très, très faible probabilité, et il est généralement beaucoup plus rapide que le nlogn garanti pour un tas ou un TreeSet (auto-équilibré), ou le n ^ 2 garanti pour une liste non triée.