title: Finding all unique combinations of overlapping items?
body: <p>If I have data that's in the form of a list of tuples:</p>
  
  <pre><code>[(uid, start_time, end_time)]
  </code></pre>
  
  <p>I'd like to find all unique combinations of uids that overlap in time.  Eg, if I had a list like the following:</p>
  
  <pre><code>[(0, 1,   2), 
   (1, 1.1, 3), 
   (2, 1.5, 2.5), 
   (3, 2.5, 4), 
   (4, 4,   5)]
  </code></pre>
  
  <p>I'd like to get as output:</p>
  
  <pre><code>[(0,1,2), (1,3), (0,), (1,), (2,), (3,), (4,)]
  </code></pre>
  
  <p>Is there a faster algorithm for this than the naive brute force?</p>