Бинарные кучи. В проект (пример) добавить следующие функции: удаление минимального extractMin; удаление i-ого элемента extractI; объединение unionHeap двух куч в одну.
Откровенно говоря, очень радостно, что есть такие авторы, как вы на сайте. Оперативно, профессионально, полное понимание своего дела! По дипломным работам даже не было доработок! Надеюсь на дальнейшее сотрудничество и всем рекомендую.