2014-12-31 4 views
0

Я хочу реализовать heapsort без использования структуры данных кучи. Точнее, я хочу, чтобы все изменения выполнялись в исходном массиве. Я попытался реализовать его, но я застрял, потому что он превращается в другой алгоритм, например, сортировку выбора или сортировку пузырьков. Итак, какой тип будет называться хапсортом при условии, что мы не будем использовать структуру данных кучи?Внедрение heapsort без использования отдельной структуры данных кучи

+0

На месте было довольно стандартным для [heapsort] (http://en.wikipedia.org/wiki/Heapsort). После того, как вы будете довольны своей реализацией, попробуйте понять [smoothsort] (http://en.wikipedia.org/wiki/Smoothsort). – greybeard

+0

(Возможно, вы захотите изменить название в направлении ... 'без использования отдельной структуры данных кучи) – greybeard

+0

mhm благодарит за исправление и за ответ – user2735714

ответ

0

Увлекательная вещь о куче заключается в том, что ее можно реализовать просто как расположение элементов в массиве - для элементов не требуется отдельная структура данных с указателями. Greybeard указывает вам на страницу wikipedia, которая очень хорошо относится к этому, но вкратце идея состоит в том, чтобы построить кучу на месте, заменяя элементы, а затем сортировать, снова путем замены элементов в том же массиве.

Смежные вопросы