Обсуждение:Пирамидальная сортировка
Эта статья тематически связана с вики-проектом «Информационные технологии», цель которого — создание и улучшение статей по темам, связанным с информационными технологиями. Вы можете её отредактировать, а также присоединиться к проекту, принять участие в его обсуждении и поработать над требуемыми статьями. |
Некорректный код
правитьКод для с++ некорректен! Уважаемые программисты, тестируйте свои программы! Код на странице от 12:10, 10 июня 2008 валится на тесте: "0 1 2". Код исправил. --MDA 11:00, 29 июня 2008 (UTC)
Не заменяйте D на C, это не опечатка! Код получается нерабочий после такой замены! Alex Wolf 22:35, 25 октября 2014 (UTC)
?
правитьТак логарифм же не десятичный!!! А двойной! --80.93.115.10 05:58, 5 апреля 2008 (UTC)
Алгоритм очень понравился. Поэтому добавил код на паскале. ShadowTheAge P.S. да, чуть не забыл комментарии
Неточность?
правитьКстати, почему это алгоритм требует память не зависящую от размера массива О(1)? Ведь поиск нового подходящего места в массиве - это рекурентная функция и памяти на эту функцию требуется ShadowTheAge 16:28, 26 мая 2008 (UTC)
Тут место под хип используется в самом массиве. А по мере удаления элементов из хипа освобождается место под только что удалённый элемент хипа. Т.е. в ненулевой и непоследний момент времени в массиве будут и хип и кусок отсортированного массива.
--Shaekyrian 08:13, 12 мая 2010 (UTC)
Достаточно избавиться от хвостовой рекурсии и расходы будут O(1). --ViLco 19:06, 28 августа 2011 (UTC)
Можно реализовать вообще без рекурсии, см. например https://medium.com/@dimko1/%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B-%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8-heapsort-796ba965018b