1. Klasówka 2013/14
Zadanie 1
Słowa kluczowe: optymalne porównania
Zaprojektuj optymalny algorytm pod względem pesymistycznej liczby
porównań, który znajduje dwa środkowe elementy w zbiorze czterech
elementów. Dowiedź poprawności swojego rozwiązania.
Zadanie 2
Słowa kluczowe: struktury danych, wzbogacanie
Drzewem klasówkowym nazywamy pełne drzewo binarne, w którym klucze
są rozmieszczone zgodnie z następującą regułą: dla każdego węzła
najmniejszy klucz w poddrzewie o korzeniu znajduje
się w jego lewym podrzewie. Zaproponuj implementację drzewa klasówkowego
w sposób, który umożliwia wydajne wykonywanie operacji kolejki
priorytetowej:
:: mając dane kluczy zbuduj
-węzłowe drzewo klasówkowe
:: podaj wartość najmniejszego klucza w drzewie
:: zmień wartość klucza we wskazanym węźle
na
Zadanie 3
Danych jest uporządkowanych list o długościach będących parami
różnymi potęgami dwójki. Zaproponuj wydajny algorytm scalenia tych list
w jedną listę uporządkowaną. Uzasadnij poprawność swojego algorytmu i
dokonaj analizy jego złożoności obliczeniowej ze względu na liczbę
porównań wykonywanych podczas scalania.