title: O(klogk) time algorithm to find kth smallest element from a binary heap
body: <p>We have an n-node binary heap which contains <code>n</code> distinct items (smallest item at the root). For a <code>k&lt;=n</code>, find a <code>O(klogk)</code> time algorithm to select <code>kth</code> smallest element from the heap.</p>
  
  <p><code>O(klogn)</code> is obvious, but couldn't figure out a <code>O(klogk)</code> one. Maybe we can use a second heap, not sure.</p>