title: Running time of set union operation
body: <p>Given two sets A and B, what is the common algorithm used to find their union, and what is it's running time?</p>
  
  <p>My intuition: </p>
  
  <pre><code>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)
  </code></pre>
  
  <p>Add checks for a collision, which is O(1), and then adds the element, which is (??). This is done n times (where n is |a| + |b|). So this is O(n * x) where x is avg running time for the add operation.</p>
  
  <p>Is this correct?</p>