Структура данных Python: создайте heapsort, помещая все значения в кучу, а затем выталкивая наименьшие значения по одному
Структура данных Python: упражнение 22 с решением
Напишите программу на Python для создания heapsort, помещая все значения в кучу, а затем выталкивая наименьшие значения по одному.
Пример решения :
Код Python:
import heapq
def heapsort(h):
heap = []
for value in h:
heapq.heappush(heap, value)
return [heapq.heappop(heap) for i in range(len(heap))]
print(heapsort([10, 20, 50, 70, 90, 20, 50, 40, 60, 80, 100]))
Пример вывода:
[10, 20, 20, 40, 50, 50, 60, 70, 80, 90, 100]
Блок - схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Python, которая помещает элемент в кучу, затем извлекает и возвращает наименьший элемент из кучи.
Далее: Напишите программу на Python, чтобы получить два самых больших и три самых маленьких элемента из набора данных.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code