2010-03-04 5 views
6

Vous vous demandez simplement quel est le temps de recherche de set()? O (1) ou O (n)?set() runtime en python

si je

x = set() ce qui est le moteur d'exécution de

si "a" dans x: imprimer un ensemble en!

Répondre

9

set est implémenté en utilisant un hachage, de sorte que la recherche est, en moyenne, proche de O (1). Le pire des cas est O (n), où n objets ont des hachages en collision.

+5

J'ai trouvé une référence: http://wiki.python.org/moin/TimeComplexity –

+0

Notez que les fonctions de hachage et l'algorithme de résolution de collision sont choisis pour rendre le cas O (n) beaucoup moins menaçant qu'il n'y paraît. –