Algoritme & struktura të dhënash

Heap

Në shqip: Grumbulli (heap)

ShpjegimiSQ

Një heap është një pemë e veçantë ku prindi është gjithmonë më i vogël (min-heap) ose më i madh (max-heap) se fëmijët. Kështu elementi më i vogël merret në O(1) dhe shtimi/heqja bëhen në O(log n). Është baza e radhës me përparësi.

EnglishEN

A heap is a special tree where the parent is always smaller (min-heap) or bigger (max-heap) than its children. So the smallest item is available in O(1) and adding/removing take O(log n). It's the basis of the priority queue.

Si ta mendosh

Si hierarkia në një kompani: drejtori është gjithmonë në krye, dhe kur largohet, dikush ngjitet menjëherë në vendin e tij.

Lexoje në anglisht

Like a company hierarchy: the boss is always at the top, and when they leave, someone moves up immediately.

Shembull kodipython

import heapq
v = [5, 1, 8, 3]
heapq.heapify(v)
print(heapq.heappop(v))   # 1 — gjithmonë më i vogli

Terma të lidhur