Zaawansowane algorytmy i struktury danych: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 18: | Linia 18: | ||
=== Zawartość === | === Zawartość === | ||
* Wielomiany i FFT | * Złożone struktury danych (3) | ||
** słowniki i ich implementacje - drzewa typu ''splay'', listy z przeskokami, | |||
** kolejki priorytetowe - kolejki dwumianowe i kopce Fibonacciego, | |||
** sumowanie zbiorów rozłącznych. | |||
* Zaawansowane algorytmy tekstowe (3) | |||
** struktury danych dla tekstów - tablice i drzewa sufiksowe, grafy podsłów, | |||
** regularności w tesktach - okresowość, symetrie, powtórzenia, | |||
** algorytmy z błędami, | |||
** algorytm Aho-Corasica. | |||
* Wielomiany i FFT (1) | |||
** mnożenie wielomianów, | ** mnożenie wielomianów, | ||
** dzielenie wielomianów, | ** dzielenie wielomianów, | ||
Linia 24: | Linia 35: | ||
** interpolacja. | ** interpolacja. | ||
* | * Zaawansowane algorytmy grafowe | ||
** | ** Problemy ścieżkowe (2) | ||
** | *** algorytm Bellmana-Forda, | ||
*** problemy ścieżkowe i mnożenie macierzy, | |||
*** algorytm Floyda-Warshalla, | |||
*** algorytm Johnsona. | |||
* | ** Skojarzenia (2) | ||
* | *** skojarzenia w grafach dwudzielnych - algorytmy Hopcrofta-Karpa, | ||
** | *** ważone skojarzenia w grafach dwudzielnych. | ||
* | |||
** | |||
* | ** Maksymalny przepływ: (2) | ||
** | *** algorytm Forda-Fulkersona, | ||
** | *** algorytm Edmondsa-Karpa, | ||
** | *** algorytm Dintiz'a. | ||
* Algorytmy geometryczne (2) | |||
* Algorytmy geometryczne | |||
** przynależnoźć punktu do wielokąta, | ** przynależnoźć punktu do wielokąta, | ||
** znajdowanie otoczki wypukłej, | ** znajdowanie otoczki wypukłej, | ||
** technika zamiatania. | ** technika zamiatania. | ||
* Algorytmy równoległe | * Algorytmy równoległe (2) | ||
** sieci sortujące, | ** sieci sortujące, | ||
** PRAM. | ** PRAM. | ||
* Randomizacja: (2) | |||
* Randomizacja: | |||
** algorytmy Monte Carlo i Las Vegas, | ** algorytmy Monte Carlo i Las Vegas, | ||
** problem minimalnego przekroju, | ** problem minimalnego przekroju, | ||
** lemat Zippela-Schwartza i zastosowania | ** lemat Zippela-Schwartza i jego zastosowania. | ||
=== Literatura === | === Literatura === |
Wersja z 10:52, 16 cze 2006
Forma zajęć
Wykład (30 godzin) + laboratorium (30 godzin)
Opis
Projektowanie i analiza algorytmów. Przegląd zaawansowanych algorytmów i struktur danych. Wprowadzenie do zaawansowanych technik projektowania algorytmów.
Sylabus
Autorzy
- Krzysztof Diks
- Wojciech Rytter
- Piotr Sankowski
Wymagania wstępne
- Algorytmy i struktury danych
- Analiza matematyczna
- Algebra liniowa z geometrią analityczną
Zawartość
- Złożone struktury danych (3)
- słowniki i ich implementacje - drzewa typu splay, listy z przeskokami,
- kolejki priorytetowe - kolejki dwumianowe i kopce Fibonacciego,
- sumowanie zbiorów rozłącznych.
- Zaawansowane algorytmy tekstowe (3)
- struktury danych dla tekstów - tablice i drzewa sufiksowe, grafy podsłów,
- regularności w tesktach - okresowość, symetrie, powtórzenia,
- algorytmy z błędami,
- algorytm Aho-Corasica.
- Wielomiany i FFT (1)
- mnożenie wielomianów,
- dzielenie wielomianów,
- obliczanie wartości,
- interpolacja.
- Zaawansowane algorytmy grafowe
- Problemy ścieżkowe (2)
- algorytm Bellmana-Forda,
- problemy ścieżkowe i mnożenie macierzy,
- algorytm Floyda-Warshalla,
- algorytm Johnsona.
- Problemy ścieżkowe (2)
- Skojarzenia (2)
- skojarzenia w grafach dwudzielnych - algorytmy Hopcrofta-Karpa,
- ważone skojarzenia w grafach dwudzielnych.
- Skojarzenia (2)
- Maksymalny przepływ: (2)
- algorytm Forda-Fulkersona,
- algorytm Edmondsa-Karpa,
- algorytm Dintiz'a.
- Maksymalny przepływ: (2)
- Algorytmy geometryczne (2)
- przynależnoźć punktu do wielokąta,
- znajdowanie otoczki wypukłej,
- technika zamiatania.
- Algorytmy równoległe (2)
- sieci sortujące,
- PRAM.
- Randomizacja: (2)
- algorytmy Monte Carlo i Las Vegas,
- problem minimalnego przekroju,
- lemat Zippela-Schwartza i jego zastosowania.
Literatura
- Wprowadzenie do algorytmów, Thomas H. Cormen , Charles E. Leiserson , Ronald L. Rivest , Clifford Stein, Wydawnictwa Naukowo - Techniczne, 2004.
- Algorytmy i struktury danych, L. Banachowski, K. Diks, W. Rytter, Wydawnictwa Naukowo - Techniczne, 2006.
- Randomized Algorithms, R. Motwani, P. Raghavan, Cambridge University Press, 1995.
Moduły
- Kolejki priorytetowe I (Ćwiczenia)
- Kolejki priorytetowe II (Ćwiczenia)
- Wielomiany i FFT (Ćwiczenia)
- Algorytmy macierzowe (Ćwiczenia)
- Najkrótsze ścieżki I (Ćwiczenia)
- Najkrótsze ścieżki II (Ćwiczenia)
- Skojarzenia w grafach dwudzielnych (Ćwiczenia)
- Ważone skojarzenia w grafach dwudzielnych (Ćwiczenia)
- Przepływy I (Ćwiczenia)
- Przepływy II (Ćwiczenia)
- Algorytmy geometryczne (Ćwiczenia)
- Algorytmy teorioliczbowe (Ćwiczenia)
- Algorytmy aproksymacyjne (Ćwiczenia)
- Algorytmy randomizowane (Ćwiczenia)
Literatura uzupełniająca
opcjonalnie