Temps d'exécution de l'ensemble de l'union opération

Étant donnés deux ensembles A et B, quelle est la commune de l'algorithme utilisé pour trouver leur union, et qu'est-ce que c'est de la course du temps?

Mon intuition:

a = set((1, 2, 3))
b = set((2, 3, 5))
union = set()
for el in a:
    union.add(el)

for el in b:
    union.add(el)

Ajouter des contrôles de collision, qui est O(1), puis ajoute l'élément, qui est (??). Ceci est fait n fois (où n est |a| + |b|). C'est donc O(n * x) où x est avg temps d'exécution de l'opération d'ajout.

Est-ce correct?

OriginalL'auteur Claudiu | 2008-11-24