Zaawansowane algorytmy i struktury danych: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
(Nie pokazano 44 wersji utworzonych przez 5 użytkowników) | |||
Linia 1: | Linia 1: | ||
== Forma zajęć == | == Forma zajęć == | ||
Wykład (30 godzin) + | Wykład (30 godzin) + laboratorium (30 godzin) | ||
== Opis == | == Opis == | ||
Projektowanie i analiza algorytmów. Przegląd zaawansowanych algorytmów i struktur danych. Wprowadzenie do zaawansowanych technik projektowania algorytmów. | Projektowanie i analiza algorytmów. Przegląd zaawansowanych algorytmów i struktur danych. Wprowadzenie do zaawansowanych technik projektowania algorytmów. | ||
Linia 7: | Linia 8: | ||
=== Autorzy === | === Autorzy === | ||
* Krzysztof Diks | |||
* Wojciech Rytter | |||
* Piotr Sankowski | * Piotr Sankowski | ||
=== Wymagania wstępne === | === Wymagania wstępne === | ||
Linia 16: | Linia 18: | ||
=== Zawartość === | === Zawartość === | ||
* | * Zaawansowane algorytmy grafowe | ||
** | ** Problemy ścieżkowe | ||
** | *** algorytm Bellmana-Forda | ||
*** problemy ścieżkowe i mnożenie macierzy | |||
*** algorytm Floyda-Warshalla | |||
*** algorytm Johnsona | |||
** Skojarzenia | |||
*** skojarzenia w grafach dwudzielnych - algorytmy Hopcrofta-Karpa | |||
*** skojarzenia w grafach dowolnych - algorytm Edmondsa | |||
** Maksymalny przepływ: | |||
*** algorytm Forda-Fulkersona | |||
*** algorytm Edmondsa-Karpa | |||
*** algorytm Dinica | |||
* Zaawansowane algorytmy tekstowe | |||
** algorytm Boyera Moore'a | |||
**Wyszukiwanie wzorca w pamięci stałej | |||
** regularności w tesktach - symetrie, powtórzenia | |||
* Algorytmy geometryczne | |||
** przynależnoźć punktu do wielokąta | |||
** znajdowanie otoczki wypukłej | |||
** technika zamiatania i problem najmniej odległej pary punktów | |||
* Algorytmy równoległe | |||
** | |||
** Abstrakcyjny model PRAM | |||
**sumy prefiksowe i sortowanie na PRAMie | |||
**algorytm jednoczesnych podstawień | |||
**równoległa kontrakcja drzew | |||
* Wielomiany i FFT | * Wielomiany i FFT | ||
** mnożenie wielomianów | ** mnożenie wielomianów | ||
** dzielenie wielomianów | ** dzielenie wielomianów | ||
** obliczanie | ** obliczanie wartości | ||
** | ** interpolacja | ||
* Randomizacja | |||
** algorytmy Monte Carlo i Las Vegas | |||
** problem maksymalnego przekroju | |||
** problem długiej ścieżki | |||
* Randomizacja | |||
** algorytmy Monte Carlo i Las Vegas | |||
** problem | |||
** | |||
=== | === Literatura === | ||
# ''Wprowadzenie do algorytmów'', Thomas H. Cormen , Charles E. Leiserson , Ronald L. Rivest , Clifford Stein, Wydawnictwa Naukowo - Techniczne, 2004. | # ''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 | # ''Algorytmy i struktury danych'', L. Banachowski, K. Diks, W. Rytter, Wydawnictwa Naukowo - Techniczne, 2006. | ||
# ''Randomized Algorithms'', R. Motwani, P. Raghavan, Cambridge University Press, 1995. | # ''Randomized Algorithms'', R. Motwani, P. Raghavan, Cambridge University Press, 1995. | ||
# ''Jewels of stringology'', W. Rytter, M. Crochemore, World Scientific, 2003. | |||
== Moduły == | == Moduły == | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 1| Zaawansowane algorytmy tekstowe I]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 1|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 2| Zaawansowane algorytmy tekstowe II]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 2|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 3| Zaawansowane algorytmy tekstowe III]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 3|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 4| Wielomiany i FFT]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 4|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 5| Zaawansowane algorytmy grafowe I: Najkrótsze ścieżki]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 5|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 6| Zaawansowane algorytmy grafowe II: Najkrótsze ścieżki]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 6|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 7| Zaawansowane algorytmy grafowe III: Skojarzenia w grafach dwudzielnych]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 7|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 8| Zaawansowane algorytmy grafowe IV: Skojarzenia w grafach dowolnych]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 8|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 9| Zaawansowane algorytmy grafowe V: Maksymalny przepływ I]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 9|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 10| Zaawansowane algorytmy grafowe VI: Maksymalny przepływ II]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 10|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 11| Algorytmy geometryczne I]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 11|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 12| Algorytmy geometryczne II]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 12|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 13| Algorytmy równoległe I]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 13|Ćwiczenia]]) | ||
* [[ | * [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 14| Algorytmy równoległe II]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 14|Ćwiczenia]]) | ||
* [[Zaawansowane_algorytmy_i_struktury_danych/Wykład 15| Algorytmy randomizowane]] ([[Zaawansowane_algorytmy_i_struktury_danych/Ćwiczenia 15|Ćwiczenia]]) |
Aktualna wersja na dzień 21:38, 3 paź 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ść
- Zaawansowane algorytmy grafowe
- Problemy ścieżkowe
- algorytm Bellmana-Forda
- problemy ścieżkowe i mnożenie macierzy
- algorytm Floyda-Warshalla
- algorytm Johnsona
- Skojarzenia
- skojarzenia w grafach dwudzielnych - algorytmy Hopcrofta-Karpa
- skojarzenia w grafach dowolnych - algorytm Edmondsa
- Maksymalny przepływ:
- algorytm Forda-Fulkersona
- algorytm Edmondsa-Karpa
- algorytm Dinica
- Problemy ścieżkowe
- Zaawansowane algorytmy tekstowe
- algorytm Boyera Moore'a
- Wyszukiwanie wzorca w pamięci stałej
- regularności w tesktach - symetrie, powtórzenia
- Algorytmy geometryczne
- przynależnoźć punktu do wielokąta
- znajdowanie otoczki wypukłej
- technika zamiatania i problem najmniej odległej pary punktów
- Algorytmy równoległe
- Abstrakcyjny model PRAM
- sumy prefiksowe i sortowanie na PRAMie
- algorytm jednoczesnych podstawień
- równoległa kontrakcja drzew
- Wielomiany i FFT
- mnożenie wielomianów
- dzielenie wielomianów
- obliczanie wartości
- interpolacja
- Randomizacja
- algorytmy Monte Carlo i Las Vegas
- problem maksymalnego przekroju
- problem długiej ścieżki
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.
- Jewels of stringology, W. Rytter, M. Crochemore, World Scientific, 2003.
Moduły
- Zaawansowane algorytmy tekstowe I (Ćwiczenia)
- Zaawansowane algorytmy tekstowe II (Ćwiczenia)
- Zaawansowane algorytmy tekstowe III (Ćwiczenia)
- Wielomiany i FFT (Ćwiczenia)
- Zaawansowane algorytmy grafowe I: Najkrótsze ścieżki (Ćwiczenia)
- Zaawansowane algorytmy grafowe II: Najkrótsze ścieżki (Ćwiczenia)
- Zaawansowane algorytmy grafowe III: Skojarzenia w grafach dwudzielnych (Ćwiczenia)
- Zaawansowane algorytmy grafowe IV: Skojarzenia w grafach dowolnych (Ćwiczenia)
- Zaawansowane algorytmy grafowe V: Maksymalny przepływ I (Ćwiczenia)
- Zaawansowane algorytmy grafowe VI: Maksymalny przepływ II (Ćwiczenia)
- Algorytmy geometryczne I (Ćwiczenia)
- Algorytmy geometryczne II (Ćwiczenia)
- Algorytmy równoległe I (Ćwiczenia)
- Algorytmy równoległe II (Ćwiczenia)
- Algorytmy randomizowane (Ćwiczenia)