ਇੱਕ binary heap ਇੱਕ ਸੰਪੂਰਨ binary tree ਹੈ ਜੋ ਇੱਕ array ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜੋ heap property ਨੂੰ maintain ਕਰਦਾ ਹੈ: ਇੱਕ min-heap ਵਿੱਚ، ਹਰ parent ਆਪਣੇ children ਤੋਂ ≤ ਹੁੰਦਾ ਹੈ، ਇਸ ਲਈ minimum ਹਮੇਸ਼ਾ root ਉੱਤੇ ਹੁੰਦਾ ਹੈ। ਇਹ ਇਸ ਨੂੰ priority queue ਦਾ standard implementation ਬਣਾਉਂਦਾ ਹੈ।
Array layout
text
1 index: 0 1 2 3 4
/ \ array: [1, 3, 5, 8, 4]
3 5 parent(i) = (i-1)//2
/ \ left(i) = 2i+1
8 4 right(i) = 2i+2
