Egzamin 2009/10

Egzamin 2009/10#

Zadanie 1#

Słowa kluczowe: teksty

Zaprojektuj algorytm, który dla danego tekstu \(t\) i słowa \(s\) nad alfabetem o stałym rozmiarze, niezależnym od długości \(t\) i \(s\), wyznaczy liczbę wszystkich parami różnych podsłów tekstu \(t\), które nie są podsłowami \(s\).

Dla przykładu, różnymi podsłowami słowa \(ababa\) są \(\epsilon, a, b, ab, ba, aba, bab, abab, baba, ababa\)

Zadanie 2#

Słowa kluczowe: struktury danych, BST

W \(n\)-węzłowym drzewie BST \(T\), oprócz kluczy, zapisano różnowartościowe priorytety \(1, 2,\cdots, n\). Drzewo BST można przekształcić w dowolne inne drzewo BST wykonując pojedyncze operacje.

  1. Opisz konstrukcję ciągu rotacji o długości \(O(n)\), które należy wykonać, żeby przekształcić drzewo \(T\) w drzewo BST, które będzie jednocześnie kopcem binarnym typu \(MAX\).

  2. Zaproponuj algorytm, który w czasie liniowym znajdzie ciąg rotacji, o którym mowa w punkcie (a).

Zadanie 3#

Słowa kluczowe: grafy

Dany jest spójny graf nieskierowany \(G=(V,E)\) z dodatnimi, całkowitoliczbowymi wagami na krawędziach oraz wyróżnione wierzchołki \(s\) i \(t\). Zaprojektuj algorytm, który spośród najlżejszych ścieżek pomiędzy \(s\) i \(t\) wyznaczy jedną, z najmniejszą liczbą krawędzi.

Zadanie 4#

Słowa kluczowe: sortowanie, scalanie
  1. Wykaż, że \(k\) nowych elementów można wstawić do uporządkowanego ciągu \(n\)-elementowego przy pomocy \(O(k \log k + n)\) porównań.

  2. Wykaż, że dla \(k \geq n\), rozwiązanie z punktu (a) jest asymptotycznie optymalne.