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.

Podobne dokumenty