Найти структуру данных k-го наименьшего элемента

У меня есть проблема, которая требует разработки структуры данных, которая принимает O(lg n) в худшем случае для следующих трех операций:

  a) Insertion: Insert the key into data structure only if it is not already there.
  b) Deletion: delete the key if it is there!
  c) Find kth smallest : find the ݇k-th smallest key in the data structure

Мне интересно, следует ли мне использовать кучу но у меня до сих пор нет ясного представления об этом.
Я могу легко получить первые две части за O(lg n), даже быстрее, но не знаю, как поступить с частью c).

У кого есть идеи, поделитесь.

5
задан Bill the Lizard 20 September 2012 в 12:53
поделиться