Najprej smo si zelo na hitro pogledali kaj je binomsko drevo. Poznavanje le tega nam bo prišlo prav pri predstavitvi binomske kopice.
Definicija: Binomska kopica H (Vuillemin, 1978) je podatkovna struktura sestavljena iz več binomskih dreves in ima naslednje lastnosti:
- Binomska drevesa v kopici imajo lastnost minimalnih kopic (angl. min-heap-ordered trees).
To pomeni, da je podatek v levem oziroma desnem poddrevesu vedno večji ali enak podatku v korenu drevesa.
- Za vsako nenegativno število k, obstaja največ eno binomsko drevo v kopici, katerega koren ima stopnjo k.
- Velja: V binomski kopici so binomska drevesa po redu razvrščena naraščujoče od leve proti desni.
Prva lastnost nam pove, da je koren drevesa vedno najmanjši element v drevesu.
Druga lastnost nam pove, da binomska kopica H z n-vozlišči vsebuje največ log n+1
binomskih dreves. Število binomskih dreves v binomski kopici je odvisno od števila vozlišč. Vsako binomsko drevo predstavlja števko 1 v binarnem zapisu števila n.
Poglejmo si naslednji zgled.
Zgled :
|
Binomska kopica s 4 drevesi stopenj 0,1,2,3
Naša kopica ima 15 elementov (n). Naredimo binarni zapis števila 15:
15 : 2 = 7 + 1 ---> 1 * = 1
7 : 2 = 3 + 1 ---> 1 * = 2
3 : 2 = 1 + 1 ---> 1 * = 4
1 : 2 = 0 + 1 ---> 1 * = 8
15 v binarnem zapisu : 1 * + 1 *+ 1 * +1 *
Največji eksponent določa stopnjo binomskega drevesa.
Z pretvorbo smo dobili odgovor na vprašanje : koliko binomskih dreves sestavlja našo kopico in katerega reda je posamezno drevo ?
Odgovor : Imamo 4 binomska drevesa (pri vsakem deljenju je ostanek različen od 0)in imajo red 0, 1 , 2 , 3.