Middle
Какво прави heap push и как добавя елемент в купчината?
sobes.tech AI
Отговор от AI
Heap push — това е операция за добавяне на нов елемент към структурата данни „купа“ (heap), която поддържа свойствата на купата (например, минимална или максимална).
Как става добавянето:
- Новият елемент се поставя в края на масива, който представлява купата.
- След това се изпълнява операцията "пресяване нагоре" (sift-up или bubble-up): елементът се сравнява с родителя си, и ако се нарушава свойството на купата (например, в мин-купа, ако е по-малък от родителя), елементите се разменят.
- Този процес се повтаря, докато елементът не заеме правилната позиция, възстановявайки свойствата на купата.
По този начин, heap push осигурява добавяне на елемент с запазване на реда в купата, което позволява ефективно извличане на минималния или максималния елемент.
Пример на Python с използване на модула heapq:
import heapq
heap = [1, 3, 5, 7]
heapq.heapify(heap) # Превръща списъка в купа
heapq.heappush(heap, 2) # Добавя елемент 2
print(heap) # Купа с запазен ред
В резултат, елементът 2 ще бъде добавен и "пресят" нагоре, за да се запазят свойствата на мин-купата.