1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0; while(i!=n){ suma+=i; i+=; Czy powyższy algorytm jest: poprawny całkowicie, poprawny częściowo, nie jest poprawny ani całkowicie ani częściowo. (3 pkt) Dane są trzy funkcje: f 1 (n) = 0,01 4 n + 100n, f (n) = logn n + 0,1n, f 3 (n) = log n + logn 100 oraz następujące rzędy funkcji: (n), (logn), ( n ), (4 n ), (n ), (n 1/ ), (nlogn), (n 100 ), (n!), (n n ) Przyporządkuj każdej z funkcji odpowiedni rząd: f 1 n = f n = f 3 n = 3. ( pkt) Dana jest następująca funkcja: int F(int n){ if(n==0 n==1) return 1; return F(n-1)+F(n-); Jaki jest co do rzędu, pesymistyczny koszt czasowy powyższej funkcji. Zakładamy, że rozmiarem zadania jest n, a operacją elementarną dodawanie. 4. ( pkt) Dana jest następująca funkcja: int G(int n, int k){ if(n==k k==0) return 1; return G(n-1, k-1)+g(n-1,k); Ile razy wywoła się powyższa funkcja dla danych n=4 i k=? 5. ( pkt) Z którymi elementami poniższego ciągu uporządkowanego będzie porównany element x=1 w algorytmie wyszukiwania binarnego. Wynik zapisz w kolejności wykonywanych porównao. Ciąg: 1, 5, 0, 5, 30, 50, 80, 100, 00 Strona 1
6. ( pkt) Pewien problem o rozmiarze n został rozwiązany przy użyciu strategii dziel i zwyciężaj. Jego czasowa złożonośd pesymistyczna została następnie zapisana w postaci poniższego równania rekurencyjnego: dla n T max n = T n max + n dla n > Jaki jest rząd funkcji kosztu tego algorytmu: (nlogn) (n ) (logn) Inny koszt. Jak?: 7. (3 pkt) Dany jest zbiór n przedmiotów o wagach wyrażonych w kg będących liczbami naturalnymi. Chcemy załadowad możliwie najpełniej przyczepę o ładowności m kg. Czy tak zdefiniowany problem można rozwiązad strategią zachłanną, stosując w pierwszym kroku algorytmu sortowanie przedmiotów nierosnąco po wagach? Tak. Nie. Podaj kontrprzykład (tzn. przykład danych wejściowych, dla których rozwiązanie algorytmem zachłannym nie będzie optymalne): 8. (1 pkt) Które z poniższych zdao są prawdziwe? Wszystkie problemy posiadające własnośd optymalnej podstruktury można optymalnie rozwiązad strategią zachłanną Wszystkie problemy posiadające własnośd wyboru zachłannego można rozwiązad optymalnie strategią zachłanną Problemy posiadające obie własności: optymalnej podstruktury i wyboru zachłannego, można rozwiązad optymalnie strategią zachłanną. 9. (1 pkt) Wskaż algorytmy wykorzystujące programowanie dynamiczne: Algorytm Dijkstry Algorytm Forda-Bellmana Algorytm wyszukiwania binarnego Żaden z powyższych algorytmów nie wykorzystuje techniki programowania dynamicznego 10. ( pkt) W tablicy liczb został zbudowany kopiec zupełny. Zawartośd kopca jest następująca: 10, 8, 7, 5, 3, 6. Do kopca dodano następnie liczbę 9. Jaka jest kolejnośd liczb w kopcu po dodaniu tej wartości: 11. ( pkt) Która z metod wykona najmniej porównao na ciągu uporządkowanym: sortowanie szybkie, sortowanie przez wstawianie, sortowanie przez wybieranie, każda z podanych metod wykona tyle samo porównao. Strona
1. ( pkt) Jaki jest koszt pesymistyczny wyszukiwania elementu w następujących strukturach danych, zawierających w momencie wyszukiwania n elementów? Wystarczy podad rząd funkcji kosztu. Lista nieuporządkowana: Tablica posortowana: Drzewo BST: Drzewo AVL: 13. ( pkt) Ile co najwyżej elementów może zawierad drzewo binarne składające się z n poziomów? Zakładamy, że drzewo posiadające tylko jeden element składa się z jednego poziomu. Podaj dokładny wynik. 14. ( pkt) Zbuduj drzewo BST wstawiając kolejno elementy: 8, 1, 5, 1, 6, 0, 10. Jaki element może zastąpid wartośd 8 w procesie usuwania tej wartości z drzewa. 15. ( pkt) Do początkowo pustego drzewa AVL wstawiono kolejno elementy: 15, 5, 10, 5, 35, 1. Etykietą korzenia utworzonego w ten sposób drzewa jest: 10 5 15 Żadna z wartości. Podaj poprawną odpowiedź:... 16. (1 pkt) Jaki jest optymalny koszt algorytmu wyświetlającego zawartośd drzewa BST w porządku rosnącym? 17. (1 pkt) Które z poniższych zdao są prawdziwe: Algorytm Dijkstry zawsze działa skutecznie w grafach o ujemnych wagach. Algorytm Forda-Bellmana można zastosowad tylko do grafów z wagami dodatnimi. Algorytm Floyda-Warshalla służy do wyznaczania najkrótszych ścieżek między wszystkimi odległościami wierzchołków. Żaden z powyższych algorytmów nie daje dobrych wyników w grafach z cyklami o ujemnych wagach. 18. ( pkt) Dany jest graf o następujących listach incydencji: 1:, 4 : 1, 3, 5 3:, 5, 6 4: 1 5:, 6 6: 3, 7 7: 6 Wypisz kolejno odwiedzane wierzchołki w wyniku przeglądania tego grafu wszerz rozpoczynając od wierzchołka nr 1. Strona 3
19. (3 pkt) Określ kolory poszczególnych wierzchołków ustalone w algorytmie aproksymacyjnym kolorowania opartym o maksymalne zbiory niezależne dla grafu o następujących listach incydencji: 1:, 3, 4 : 1, 3, 4 3: 1,, 6 4: 1,, 6 5: 6 6: 3, 4, 5 Zakładamy, że jeżeli w trakcie realizacji algorytmu dochodzi do wyboru wierzchołków według ustalonego kryterium i kilka wierzchołków spełnia to kryterium to wybierany jest wierzchołek o najniższym numerze. nr wierzchołka 1 3 4 5 6 nr koloru 0. (3 pkt) Ustal zawartośd tabeli odległości d (tabeli odległości minimalnych) po każdym kroku algorytmu Dijkstry dla następującego grafu. Wierzchołek startowy s=1 5 1 1 4 4 3 tablica d d[1] d[] d[3] d[4] po inicjalizacji po I kroku po II kroku ostatecznie 1. ( pkt) Mamy dany problem maksymalnego wypełnienia różnymi towarami windy o ładowności 1000 kilogramów. W rozwiązaniu optymalnym udało się wypełnid kabinę windy maksymalnie. Algorytm przybliżony (bazujący na strategii zachłannej) posiada ograniczenie względne błędu aproksymacyjnego równe. Oznacza to, że: Algorytm ten zdoła zapełnid windę przynajmniej 998 kilogramami towaru. Algorytm ten zdoła zapełnid windę przynajmniej do połowy jej ładowności. Algorytm ten zdoła zapełnid windę co najwyżej do połowy jej ładowności. Algorytm ten załaduje do windy jedynie kg towaru. Żadna z powyższych odpowiedzi nie jest poprawna.. (1 pkt) Które z poniższych zdao jest prawdziwe: Każdy problem NP-zupełny posiada rozwiązanie działające w czasie wielomianowym. Żaden problem NP-zupełny nie posiada rozwiązania działającego w czasie wielomianowym. Nie wiadomo, czy problemy NP-zupełne mają rozwiązanie działające w czasie wielomianowym. Strona 4
3. ( pkt) Który z poniższych problemów jest NP-zupełny? problem domina problem sortowania topologicznego grafu problem cyklu Hamiltona problem komiwojażera Żaden z powyższych problemów 4. ( pkt) Który z cykli Hamiltona wygeneruje się jako pierwszy dla grafu z zadania nr 19. Wierzchołek startowy cyklu ma numer 1. 5. (3 pkt) Do tablicy z haszowaniem T o długości m=11 wstawiamy kolejno klucze 11, 3, 34, 4, 15, 5,, używając adresowania otwartego typu liniowego do rozwiązywania problemu kolizji. Funkcja haszująca ma wzór x, i = x + i %m, gdzie x = x%m. Wyznacz zawartośd tablicy T. T = [ ] 0 1 3 4 5 6 7 8 9 10 Strona 5