HEAPS Flashcards

1
Q

Hva er en binær heap?

A

Et binært tre som oppfyller følgende egenskaper:

  • Hver node v, som ikke er rotnoden, er større enn foreldrenoden.
  • Binærtreet må være komplett (= fylles opp fra venstre mot høyre)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hva er O-notasjonen på innsetting og sletting i binære heaps?

A

O(log(n))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Binære heaps og balanserte søketrær har samme kompleksitet, men hva er det som gjør binære heaps bedre?

A
  • heaps er komplette, så de er alltid balanserte
  • heaps trenger ingen rotasjoner
  • De er mer balanserte enn både AVL-trær og rød-svarte trær.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hvor bør man forsøke å legge til en ny node i en binær heap?

A

På den neste ledige plassen.
Hvis den nye noden er mindre enn foreldrenoden, må disse bytte plass. Dette må fortsette rekursivt oppover til en node har en foreldrenode som er mindre enn seg selv

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hvordan bør man gå frem ved sletting av en node i en binær heap?

A

Bytt verdien i rotnoden med den verdien i den “siste” noden i treet. Hvis noden er større enn en av barna, så må den bytte plass med den minste. Fortsett rekursivt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Binær heap: Hvilken plass ligger foreldrenoden til A[i] på?

A

På plass [(i-1)/2]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hvis man skal slette en node i en binær heap, hvilken slettes?

A

Den minste

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hva er forskjellen på min-heap og max-heap?

A

Min-heap så er den minste noden rotnoden. Max-heap så er den største noden rotnoden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly