1. Klasówka 2010/11#
Zadanie 1#
Zaproponuj algorytm, który do (zwykłej) \(n\)-elementowej kolejki dwumianowej wstawia \(k\) kluczy w czasie \(O(k + \log n)\).
Zadanie 2#
Wykaż, że każdy algorytm znajdujący medianę w zbiorze \(5\)-elementowym wykona w pesymistycznym przypadku co najmniej \(5\) porównań. Zaproponuj algorytm dokonujący tego za pomocą co najwyżej \(6\) porównań.
Zadanie 3#
Dany jest graf skierowany z nieujemnymi wagami na krawędziach i trzy różne wierzchołki \(s\), \(t\), \(r\). Zaprojektuj algorytm, który znajduje taki wierzchołek \(v\), że suma \(d(v, s) + d(v, r) + d(v, t)\) jest najmniejsza, gdzie \(d(x,y)\) jest wagą najlżejszej ścieżki między \(x\) i \(y\). Uwaga: można założyć, że takie \(v\) istnieje.
Zadanie 4#
Zaproponuj algorytm sortowania parami różnych liczb całkowitych \(x_1, x_2,\cdots, x_n\) przez porównania postaci:
Czy \(x_i < x_j\)?
z odpowiedziami:
\(TAK\), gdy \(x_i < x_j\) i żadna z liczb sortowanego ciągu nie leży pomiędzy \(x_i\) i \(x_j\)
\(NIE\), gdy \(x_j < x_i\) i żadna z liczb sortowanego ciągu nie leży pomiędzy \(x_j\) i \(x_i\)
\(SASIEDNIE\), gdy \(x_i\), \(x_j\) bezpośrednio sąsiadują w posortowanym ciągu
Todo
Potrzebne jest wyjaśnienie do tego zadania, przykład nie pasuje do definicji.
Przykład: dla \(x_1 = 3\), \(x_2 = 7\), \(x_3 = 5\) odpowiedzią na „Czy \(x_2 < x_1\)?” jest \(NIE\), natomiast odpowiedzią na „Czy \(x_3 < x_1\)?” jest \(SASIEDNIE\).