Algorytmy i struktury danych: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 22: | Linia 22: | ||
* Sortowanie: | * Sortowanie: | ||
** sortowanie przez porównania (InsertionSort, QuickSort, MergeSort), | ** sortowanie przez porównania (InsertionSort, QuickSort, MergeSort), | ||
** HeapSort | ** HeapSort, kopce binarne i kolejki priorytetowe, | ||
** złożoność problemu sortowania. | ** złożoność problemu sortowania, | ||
** sortowanie pozycyjne. | |||
* Selekcja: | * Selekcja: | ||
** algorytm Hoare'a, | ** algorytm Hoare'a, | ||
** algorytm ''magicznych piątek''. | ** algorytm ''magicznych piątek''. | ||
Linia 35: | Linia 35: | ||
** B-drzewa, | ** B-drzewa, | ||
** haszowanie. | ** haszowanie. | ||
* Algorytmy grafowe: | * Algorytmy grafowe: | ||
** DFS i jego zastosowania, | ** DFS i jego zastosowania, | ||
Linia 44: | Linia 41: | ||
* Algorytmy tekstowe: | * Algorytmy tekstowe: | ||
** wyszukiwanie wzorca w tekście - algorytmy Knutha-Morisa-Pratta i Boyera-Moora, | ** wyszukiwanie wzorca w tekście - algorytmy Knutha-Morisa-Pratta i Boyera-Moora, | ||
** | ** kompresja tekstów. | ||
* NP-zupełność | * NP-zupełność | ||
** Klasa NP | ** Klasa NP | ||
** | ** Problemy NP-trudne i NP-zupełne | ||
=== Literatura === | === 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., K. Diks, W. Rytter, Wydawnictwa Naukowo - Techniczne, 2006. | # ''Algorytmy i struktury danych'', L. Banachowski., K. Diks, W. Rytter, Wydawnictwa Naukowo - Techniczne, 2006. |
Wersja z 10:36, 16 cze 2006
Forma zajęć
Wykład (30 godzin) + laboratorium (30 godzin)
Opis
Projektowanie i analiza algorytmów. Przegląd podstawowych algorytmów i struktur danych.
Sylabus
Autorzy
- Wojciech Rytter,
- Krzysztof Diks
Wymagania wstępne
- Wstęp do programowania
- Metody programowania
- Matematyka dyskretna
- Logika i teoria mnogości
Zawartość
- Podstawowe zasady analizy algorytmów:
- poprawność,
- złożoność obliczeniowa algorytmu (pesymistyczna, oczekiwana, koszt zamortyzowany),
- złożoność problemu algorytmicznego.
- Sortowanie:
- sortowanie przez porównania (InsertionSort, QuickSort, MergeSort),
- HeapSort, kopce binarne i kolejki priorytetowe,
- złożoność problemu sortowania,
- sortowanie pozycyjne.
- Selekcja:
- algorytm Hoare'a,
- algorytm magicznych piątek.
- Wyszukiwanie:
- liniowe,
- binarne,
- drzewa poszukiwań binarnych,
- zrównoważone drzewa poszukiwań binarnych,
- B-drzewa,
- haszowanie.
- Algorytmy grafowe:
- DFS i jego zastosowania,
- problemy ścieżkowe -- Algorytm Dijkstry i jego implementacje,
- minimalne drzewo rozpinające.
- Algorytmy tekstowe:
- wyszukiwanie wzorca w tekście - algorytmy Knutha-Morisa-Pratta i Boyera-Moora,
- kompresja tekstów.
- NP-zupełność
- Klasa NP
- Problemy NP-trudne i NP-zupełne
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.