Обсуждение:Пирамидальная сортировка
Эта статья тематически связана с вики-проектом «Информационные технологии», цель которого — создание и улучшение статей по темам, связанным с информационными технологиями. Вы можете её отредактировать, а также присоединиться к проекту, принять участие в его обсуждении и поработать над требуемыми статьями. |
Некорректный код
[править код]Код для с++ некорректен! Уважаемые программисты, тестируйте свои программы! Код на странице от 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