Algorytmy i struktury danych: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Diks (dyskusja | edycje)
m Poprawki edytorskie
Linia 16: Linia 16:


=== Zawartość ===
=== Zawartość ===
* Podstawowe zasady analizy algorytmów (1)
* Podstawowe zasady analizy algorytmów
** poprawność,
** poprawność
** złożoność obliczeniowa algorytmu (pesymistyczna, oczekiwana, koszt zamortyzowany),
** złożoność obliczeniowa algorytmu (pesymistyczna, oczekiwana, koszt zamortyzowany)
** złożoność problemu algorytmicznego.
** złożoność problemu algorytmicznego
* Sortowanie (3)
* Sortowanie
** sortowanie przez porównania (InsertionSort, QuickSort, MergeSort),
** sortowanie przez porównania (InsertionSort, QuickSort, MergeSort)
** HeapSort i kopce binarne,
** HeapSort i kopce binarne
** złożoność problemu sortowania,
** złożoność problemu sortowania
** sortowanie pozycyjne.
** sortowanie pozycyjne
* Selekcja (1)
* Selekcja
** algorytm Hoare'a,
** algorytm Hoare'a
** algorytm ''magicznych piątek''.
** algorytm ''magicznych piątek''
* Wyszukiwanie (2)
* Wyszukiwanie
** liniowe,
** liniowe
** binarne,
** binarne
** drzewa poszukiwań binarnych,
** drzewa poszukiwań binarnych
** haszowanie.
** haszowanie
* Złożone struktury danych (3)
* Złożone struktury danych
** słowniki i ich implementacje - zrównoważone drzewa poszukiwań binarnych, drzewa typu ''splay'', B-drzewa,
** słowniki i ich implementacje - zrównoważone drzewa poszukiwań binarnych, drzewa typu ''splay'', B-drzewa
** kolejki priorytetowe - kolejki dwumianowe i kopce Fibonacciego,
** kolejki priorytetowe - kolejki dwumianowe i kopce Fibonacciego
** sumowanie zbiorów rozłącznych.
** sumowanie zbiorów rozłącznych
* Algorytmy grafowe (2)
* Algorytmy grafowe
** DFS i jego zastosowania,
** DFS i jego zastosowania
** problemy ścieżkowe -- Algorytm Dijkstry,
** problemy ścieżkowe -- Algorytm Dijkstry
** minimalne drzewo rozpinające.
** minimalne drzewo rozpinające
* Algorytmy tekstowe (2)
* 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 z tekstów.
** kompresja tekstów
* NP-zupełność (1)
* NP-zupełność
** Klasa NP
** klasa NP
** Problemy NP-trudne i NP-zupełne
** problemy NP-trudne i NP-zupełne


=== Moduły===
=== Moduły===

Wersja z 07:22, 7 lip 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 i kopce binarne
    • złożoność problemu sortowania
    • sortowanie pozycyjne
  • Selekcja
    • algorytm Hoare'a
    • algorytm magicznych piątek
  • Wyszukiwanie
    • liniowe
    • binarne
    • drzewa poszukiwań binarnych
    • haszowanie
  • Złożone struktury danych
    • słowniki i ich implementacje - zrównoważone drzewa poszukiwań binarnych, drzewa typu splay, B-drzewa
    • kolejki priorytetowe - kolejki dwumianowe i kopce Fibonacciego
    • sumowanie zbiorów rozłącznych
  • Algorytmy grafowe
    • DFS i jego zastosowania
    • problemy ścieżkowe -- Algorytm Dijkstry
    • 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

Moduły

Literatura

  1. Wprowadzenie do algorytmów, Thomas H. Cormen , Charles E. Leiserson , Ronald L. Rivest , Clifford Stein, Wydawnictwa Naukowo - Techniczne, 2004.
  2. Algorytmy i struktury danych, L. Banachowski., K. Diks, W. Rytter, Wydawnictwa Naukowo - Techniczne, 2006.