Wikipediaのselection algorithmsのとこに載ってる、O(N+klogk)の変形quicksortの方が速そうだけど、
わざわざヒープを使ってるのには何か理由があるのかなぁ?
http://en.wikipedia.org/wiki/Selection_algorithm#Optimised_sorting_algorithms