Wprowadzone zmiany - Akademia Morska w Szczecinie
Transkrypt
Wprowadzone zmiany - Akademia Morska w Szczecinie
Przedmiot: Jednostka prowadząca kierunek Semestr III Algorytmy i struktury danych Akademia Morska w Szczecinie Wydział Nawigacyjny Kierunek INFORMATYKA Tryb studiów Niestacjonarne PLAN ZAJĘĆ PROGRAMOWYCH Liczba godzin w tygodniu Liczba godzin w semestrze Liczba tygodni w semestrze A C L A C L 12 2E 2 24 24 ECTS 7 Przedmioty wprowadzające i inne wymagania Matematyka dyskretna, metody programowania, wstęp do programowania. Założenia i cele przedmiotu Po wykonaniu przewidzianych programem zajęć student powinien: Znać podstawy analizy algorytmów, techniki projektowania algorytmów (dziel i rządź, programowanie dynamiczne, algorytmy zachłanne, przeszukiwanie z nawrotami, heurystyki), podstawowe algorytmy (sortowanie, selekcja, wyszukiwanie), abstrakcyjne struktury danych i ich implementacje (listy, drzewa, grafy, słowniki, drzewa poszukiwań binarnych, haszowanie, stosy, kolejki, kolejki priorytetowe), podstawowe algorytmy grafowe (przeszukiwanie wszerz i w głąb), problemy obliczeniowo trudne (NP-zupełność, nierozstrzygalność). Umieć konstruować algorytmy z wykorzystaniem podstawowych technik algorytmicznych. PROGRAM ZAJĘĆ SEMESTR III 1. 2. 3. 4. 5. 6. ALGORYTMY I STRUKTURY DANYCH AUDYTORYJNE Podstawowe zasady analizy algorytmów: o poprawność o złożoność obliczeniowa algorytmu (pesymistyczna, oczekiwana) o koszt zamortyzowany: metoda potencjału Podstawowe techniki i struktury: o metoda dziel i zwyciężaj o metoda zachłanna o programowanie dynamiczne o transformacyjna konstrukcja algorytmu o elementarne struktury danych: stosy, kolejki, listy Sortowanie: o sortowanie przez porównania (InsertionSort, QuickSort, MergeSort) o proste kolejki priorytetowe: kopce binarne o HeapSort o sortowanie pozycyjne o złożoność problemu sortowania Selekcja: o algorytm Hoare'a o algorytm magicznych piątek o Wyszukiwanie i proste słowniki: o wyszukiwanie liniowe i binarne o prosty słownik: drzewa poszukiwań binarnych o haszowanie Efektywne implementacje słownika: o drzewa AVL o drzewa typu splay o B-drzewa Złożone struktury danych: o wzmocnione kolejki priorytetowe: kolejki dwumianowe, kopce Fibonacciego o efektywne sumowanie zbiorów rozłącznych 24 GODZ. 7. Algorytmy grafowe: o DFS i jego zastosowania o problemy ścieżkowe -- Algorytm Dijkstry o minimalne drzewo rozpinające 8. Wyszukiwanie wzorca w tekstach: o prefikso-sufiksy o algorytm Knutha-Morisa-Pratta 9. Tekstowe struktury danych: o tablice sufiksowe o drzewa sufiksowe 10. NP-zupełność: o klasa NP. o problemy NP-trudne i NP-zupełne SEMESTR III 1. ALGORYTMY I STRUKTURY DANYCH LABORATORYJNE 24 GODZ. Ćwiczenia laboratoryjne obejmują zagadnienia z zakresu tematyki realizowanej na zajęciach audytoryjnych. Literatura podstawowa 1. Harel D., Rzecz o istocie informatyki – Algorytmika, WNT 2000. 2. Wirth N., Algorytmy + Struktury danych = Programy, WNT 1999. 3. http://wazniak.mimuw.edu.pl 4. Wróblewski P.,Algorytmy, struktury danych i techniki programowania. Wydanie III. 2003. Literatura uzupełniająca 1. Kierzkowski A., Turbo Pascal . Ćwiczenia praktyczne, Wydawnictwo Helion 2006. 2. Stephens R., Algorytmy i struktury danych z przykładami w Delphi, Wydawnictwo Helion 2000. 3. Aho A. V.,. Hopcroft J. E, Ullman J. D.,Algorytmy i struktury danych. 2003. 4. Roszkowski J.,Analiza i projektowanie strukturalne. Wydanie III. 2004.