nr. węzłai |
I1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
klucz | |
|5 |
6 |
6 |
22 |
10 |
6 |
7 |
7 |
15 |
9 |
Rysujesz tabelkę i podpisujesz, że to jest Tablica A", gdzie nr.węzła to numer kotka w kopcu, to liczby od 1 do liczby elementów z których masz zrobić kopiec czyli 10, a w kluczu po kolei wypisujesz te liczby które babcia podała nie zmieniaja.c kolejności, teraz piszesz, "KOPIEC_BUDUJ(A) i rysujesz kopiec dodaja.c kółka od lewej do prawej, żeby ła.cznie 10 węzłów było (kółek), podpisujesz je cyframi od 1 do 10, od góry i lewej do prawej w dół i w węzłach wpisujesz klucze po kolei tak jak lecą. według tabelki, nie zmieniaja.c ich kolejności i przepisujesz abejkę jeszcze raz nie zmieniaja.c ich (bo nic sie nie zmieniło)
nr. węzłai |
I1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
klucz | |
|5 |
6 |
6 |
22 |
10 |
6 |
7 |
7 |
15 |
9 |
Teraz piszesz taki wzór, n to ilość podanych przez babcie liczb w zadaniu czyli 10, dzielisz to na 2, to wychodzi 5 i zakrąglasz w dół, czyli nadal 5 i do tej pia.tki dodajesz 1 (jakby było n=13 to by było 13/2=6,5 i zaokrąglasz w dół czyli 6 i dodajesz 1 i by było 7)
Teraz piszesz KOPIEC_PRZYWROC(A,5) (5 dlatego, że z wzoru wyszło że węzeł nr. 6 i w górę (7,8,9,10) to jest liść, czyli nie ma synów więc z tym nic nie robisz i zaczynasz przywracanie od 5 w dół). Patrzysz na węzeł podpisany nr 5, który ma klucz 10 i od niego w dół idzie węzeł nr 10 z kluczem 9,10 jest większe od 9 więc zostawiasz tak jak jest (jakby w wezle 5 było 9 a w wezle 10 było 10 to bys zamienił miejscami klucze tak ze w wezle 5 by było 10 a w wezle 10 by było 9), skoro nic nie zmieniasz to przerysowujesz kopiec bez zmian i tabelkę też bez zmian
nr. węzłai ^ |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
klucz |5 |
6 |
6 |
22 |
10 |
6 |
7 |
7 |
15 |
9 |
Teraz piszesz KOPIEC_PRZYWRÓĆ(A,4) i patrzysz, że węzeł 4 ma dwóch synów o numerze 8 i 9, największy klucz jest w wezle 4 czyli 22, wiec nie
Teraz piszesz KOPIEC_PRZYWRÓĆ(A,3) i patrzysz, że węzeł 3 ma dwóch synów o numerze 6 i 7, największy klucz jest w wezle 3 czyli 7, wiec nie zmieniasz nic, przerysowujesz kopiec i tabelke bez zmian
nr. węzłai |
I1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
klucz | |
|5 |
6 |
7 |
22 |
10 |
6 |
6 |
7 |
15 |
9 |
KOPIEC_PRZYWRÓĆ(A,2)
Teraz piszesz KOPIEC_PRZYWROC(A,2) i patrzysz, że pod węzłem 2 są węzły 4, 5, 8, 9 i 10 w węźle 4 jest 22 a w węźle 2 jest klucz 6, wiec musisz je zamienić miejscami, teraz klucz 6 jest w węźle 4, i patrzysz że w węźle 9 jest 15, więc skoro w węźle 4 jest 6 to zamieniasz je miejscami i patrząc w dół od węzła 2 to własność kopca jest spełniona, rysujesz ten kopiec i w tabelce wypisujesz nowe wartości kluczy dla węzłów gdzie były zmiany
nr. węzła) 12 3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
klucz |5 22 7 |
15 |
10 |
6 |
6 |
7 |
6 |
9 |
Teraz piszesz KOPIEC_PRZYWRÓC(A,1) i patrzysz od węzła 1 w dół (czyli na cały kopiec już) w wezle 1 masz klucz 5 a w wezle 2 masz klucz 22 wiec zamieniasz miejscami, teraz w wezle 2 masz 5 a w wezle 4 masz 15 wiec zamieniasz miejscami teraz w wezle 4 masz 5 a w wezle 8 masz klucz 7 wiec zamieniasz miejscami (zawsze zamieniasz miejscami z tym synem gdzie jest większy klucz jakby w wezle 9 byl klucz 7 a w welze 8 klucz 6 to bys zamieniał klucz 5 w wezle 4 z kluczem 7 w wezle 9), rysujesz kopiec, juz gotowy i tabelke zmieniając wartości kluczy w węzłach tam gdzie zmiany były,