Krak´ow 11.01.2018
Zestaw zada´ n nr. 10
• Zadanie (programowe)
Zaimplementuj s lownik przy pomocy drzewa AVL oraz operacje charakterystyczne dla tej struktury. Zakadamy ˙ze uniwersum wszystkich potencjalnych element´ow s lownika jest liniowo uporza‘dkowane, a podstawowym mechanizmem w zarza‘dzaniu s lownikiem be‘dzie por´ownywanie kluczy.
– Insert(S,x): wstaw klucz x do drzewa S – Delete(S,x): usu´n klucz x z drzewa S
– Find(S,x): zwraca klucz x ze s lownika S, albo NULL je´sli tego klucza nie ma w s lowniku;
– Join(S1,S2) : la‘czy dwa s lowniki w jeden, przy za lo˙zeniu, ˙ze wszystkie klucze w S1 sa‘ mniejsze ni˙z wszystkie klucze w S2;
– Split(S,x): dzieli s lownik S na dwa s lowniki: pierwszy z lo˙zony z element´ow mniejszych ba‘d´z r´ownych x i drugi zlo˙zony z element´ow wie
‘kszych od x Dla ka˙zdej z metod przygotuj, w main programu, segment testuja
‘cy czytaja
‘cy z pliku inputowego. Za la‘cz plik inputowy oraz output z test´ow. Mo˙zesz u˙zy´c generatora liczb losowych do generowania ilo´sci we
‘z low oraz warto´sci wprowadzanych we
‘z l´ow.
1