Академический Документы
Профессиональный Документы
Культура Документы
n-2
n-1
n
σταθμισμένο σταθμισμένο Μη σταθμισμένο
12 12 12
8 3 8 12 8 14
Ο κπιε θόκβνο Ο κπιε θόκβνο Ο κπιε θόκβνο δελ έρεη
έρεη heap property έρεη heap property heap property
12 14
8 14 8 12
Ο κπιε θόκβνο δεν Ο κπιε θόκβνο έτει
έτει heap property heap property
Ο κεηαζρεκαηηζκόο απηόο νλνκάδεηαη πξνο ηα πάλσ
νιίζζεζε (sifting up).
Αο ζεκεησζεί όηη ην παηδί θόκβνο κπνξεί λα χάζει ηελ
heap property ηνπ.
5/17/2011 Theo for students 8
Έλα δέληξν κε έλαλ κνλαδηθό θόκβν είλαη
απηόκαηα έλα heap
Καηαζθεπάδνπκε έλα heap πξνζζέηνληαο έλα
λέν θόκβν ηε θνξά:
Πξνζζέηνληαο θόκβν ζηα δεμηά ηνπ δεμηόηαηνπ
θόκβνπ ζην βαζύηεξν επίπεδν (ηειεπηαίν πξνο ηα
θάησ).
Δάλ ην επίπεδν είλαη γεκάην, πξνζηίζεηαη λέν επίπεδν.
Examples:
Πξόζζεζε Πξόζζεζε
λένπ node λένπ node
εδώ εδώ
10 8 8 5
1 2 3
10 10 12
8 5 12 5 10 5
12 8 8
4
10 5 14 5 12 5
8 14 8 10 8 10
22 17
19 22 14 15
18 14 21 3 9 11
11
22 17
19 22 14 15
18 14 21 3 9 11
11
22 17
19 22 14 15
18 14 21 3 9
Κάλνπκε siftUp() ηε ξίδα
Σηε ζπλέρεηα , κόλν έλα από ηα παηδηά θόκβνη κπνξεί λα
έρεη ράζεη ηελ αξρή – ζσξνύ.
5/17/2011 Theo for students 15
Τώξα ην αξηζηεξό παηδί ηεο ξίδαο (εμαθνινπζεί λα είλαη
ην 11) έραζε ηελ αξρή – ζσξνύ.
22
11 17
19 22 14 15
18 14 21 3 9
22
22 17
19 11 14 15
18 14 21 3 9
22 17
19 21 14 15
18 14 11 3 9
Καη πάιη, ε κεγαιύηεξε (ή κηα κεγαιύηεξε) ηηκή είλαη ζηε ξίδα.
Μπνξνύκε λα επαλαιακβάλνπκε ηε δηαδηθαζία έσο ην θαηλό
δέληξν
Απηό παξάγεη κηα ζεηξά δηαηεηαγκέλσλ ηηκώλ από ηε
κεγαιύηεξε έσο ηε κηθξόηεξε (heap sort).
5/17/2011 Theo for students 18
Τη ζρέζε έρνπλ ηα δέληξα – ζσξνί κε ηηο δηαηάμεηο;
Αθνινπζεί ε εμήγεζε:
Δπεηδή ην δπαδηθό δέληξν είλαη ζσγιζμένο θαη αριζηερά
ζηοιτημένο, κπνξεί λα αλαπαξαζηαζεί ζαλ πίλαθαο (array)
προζοτή: Η αλαπαξάζηαζε είλαη δπλαηή μόνο γηα ζσγιζμένα,
αριζηερά-ζηοιτημένα δπαδηθά δέληξα.
Όιεο νη πξάμεηο ησλ δσαδικών δένηρων κπνξνύλ λα
αλαπαξαζηαζνύλ κε αληίζηνηρεο πξάμεηο ζε πίνακες
Αιγόξηζκνο δηάηαμεο:
Σωροποίηζη ηοσ πίνακα;
Εθ’ όζον ο πίνακας δεν είναι καινός
{
απομάκρσνε και ανηικαηάζηηζε ηη ρίζα;
επαναζωροποίηζε ηο δένηρο;
}
22 17
19 22 14 15
18 14 21 3 9 11
0 1 2 3 4 5 6 7 8 9 10 11 12
25 22 17 19 22 14 15 18 14 21 3 9 11
Σεκείσζε:
Τν αξηζηεξό παηδί ηνπ δείθηε i έρεη δείθηε 2 * i + 1
Τν δεμί παηδί ηνπ δείθηε i έρεη δείθηε 2 * i + 2
Παράδειγμα: ηα παιδιά ηοσ κόμβοσ 3 (19) είναι 7 (18) και 8 (14)
5/17/2011 Theo for students 20
Η “ξίδα” είλαη ην πξώην ζηνηρείν ηνπ πίλαθα
Ο “δεμηόηαηνο θόκβνο ζην βαζύηαην επίπεδν” είλαη ην ηειεπηαίν
ζηνηρείν ηνπ πίλαθα
Ακνηβαία αληηθαηάζηαζε…
0 1 2 3 4 5 6 7 8 9 10 11 12
25 22 17 19 22 14 15 18 14 21 3 9 11
0 1 2 3 4 5 6 7 8 9 10 11 12
11 22 17 19 22 14 15 18 14 21 3 9 25
...θαη ζεσξνύκε όηη ην ηειεπηαίν ζηνηρείν ηνπ πίλαθα δελ ππάξρεη πιένλ—
απηό ζα πεη, όηη “ηειεπηαίνο δείθηεο” είλαη ην 11 (πνπ πεξηέρεη ηελ ηηκή
9)
0 1 2 3 4 5 6 7 8 9 10 11 12
22 22 17 19 21 14 15 18 14 11 3 9 25
0 1 2 3 4 5 6 7 8 9 10 11 12
9 22 17 19 22 14 15 18 14 21 3 22 25