J'ai remarqué le tableau de la complexité temporelle des opérations d'ensemble sur le site officiel python. Mais je veux juste savoir quelle est la complexité temporelle de la conversion d'une liste en ensemble, par exemple,
l = [1, 2, 3, 4, 5]
s = set(l)
Je sais en quelque sorte qu'il s'agit en fait d'une table de hachage, mais comment cela fonctionne-t-il exactement? Est-ce O(n) alors?
Oui. L'itération sur une liste est O(n)
et l'ajout de chaque élément à l'ensemble de hachage est O(1)
, donc l'opération totale est O(n)
.