Учитывая кучу и некоторое число k в куче, как я могу найти числа r, которые меньше, чем k в O (r)?Поиск всех чисел в куче, которая меньше, чем k в линейном времени
Мне был предложен алгоритм, который я не понимаю: Перемещение с предварительным порядком в куче, а в то время как значения меньше, чем k (и! = Null), напечатайте их. И, предположительно, это берет O (3r + 1) = O (r) проверок.
Может ли кто-нибудь объяснить мне решение? Благодаря!
http://stackoverflow.com/questions/22574580/algorithm-for-finding-the-largest-k-numbers-in-a-max-heap-of-size-n-in-ok-time – lavin
Вы может упоминаться, что это мини-куча или максимальная куча. – greybeard