Algorytmy i struktury danych 0800-ALGOSD
1. Algorytmy a struktury danych - uwagi ogólne.
2. Dynamiczne struktury danych: Listy, stosy, kolejki, kolejki priorytetowe, listy cykliczne, listy dwukierunkowe, wartownik. Budowa struktur i algorytmów operujące na różnych typach list.
3. Drzewa, drzewa binarne, drzewa przeszukiwań (z porządkiem), dwukierunkowe. Sposoby wykorzystywania struktur drzewiastych.
4. Grafy, sposoby reprezentacji, terminologia. Podstawowe sposoby manipulacji na grafach.
5. Definicje złożoności i sposoby jej wyznaczania.
6. Uwagi o typach algorytmów.
7. Algorytmy sortowania:
- Analiza algorytmów sortowania O(n^2)
- Analiza algorytmów sortowania O(n log n)
- Analiza algorytmów sortowania O(n)
8. Statystyki pozycyjne
9. Metody mnożenia macierzy
10. Programowanie dynamiczne
11. Problem mnożenia ciągu macierzy
12. Algorytm wyznaczania najdłuższego wspólnego podciągu
13. Algorytm triangulacji wielokąta
14. Algorytmy przeszukiwania grafów
15. Sortowanie topologiczne
16. Algorytmy wyznaczania minimalnych drzew rozpinających
17. Algorytmy wyznaczania najkrótszych ścieżek w grafach:
- Elementy wspólne algorytmów
- Algorytm Dijkstry
- Algorytm Bellmana-Forda
- Algorytm Floyda-Warshalla
18. Analiza i algorytmy drzew zbalansowanych na przykładzie drzew czerwono-czarnych.
Całkowity nakład pracy studenta
Efekty uczenia się - wiedza
Efekty uczenia się - umiejętności
Efekty uczenia się - kompetencje społeczne
Metody dydaktyczne
Metody dydaktyczne eksponujące
- pokaz
Metody dydaktyczne podające
- wykład problemowy
- pogadanka
Metody dydaktyczne poszukujące
- klasyczna metoda problemowa
- projektu
- doświadczeń
- sytuacyjna
- studium przypadku
- giełda pomysłów
- ćwiczeniowa
- punktowana
- obserwacji
Metody dydaktyczne w kształceniu online
- metody wymiany i dyskusji
- metody rozwijające refleksyjne myślenie
- metody odnoszące się do autentycznych lub fikcyjnych sytuacji
Rodzaj przedmiotu
Wymagania wstępne
Koordynatorzy przedmiotu
Kryteria oceniania
1. Bieżąca praca.
2. Kolokwia pisemne.
3. Zadania bieżące (listy zadań i programów).
4. Wejściówki (w zależności od potrzeb).
5. Zadania laboratoryjne
6. Egzamin pisemny.
Powyższe metody oceny weryfikują zakres programu jak i efekty kształcenia opisane powyżej.
Aby przystąpić do egzaminu trzeba mieć zdane ćwiczenia i laboratorium.
Szczegółowy sposób oceny laboratorium jest w dokumencie dotyczącym listy zadań. Tam też są określone ścisłe progi ocen.
Zaliczenie kolokwium:
minimum 50%, poniżej 2.0, od 50% (3.0) ocena skalowana liniowo do 5.0
Zaliczenie ćwiczeń:
średnia z kolokwiów pod warunkiem zaliczenia każdego z kolokwiów i zaliczenia wejściówek.
Ocena egzaminu:
minimum 50%, poniżej 2.0, od 50% (3.0) ocena skalowana liniowo do 5.0
W pracy bieżącej, na kolokwiach, na laboratoriach i egzaminie weryfikuje się wszystkie efekty uczenia się: wiedzy, umiejętności i kompetencje społeczne.
Literatura
A. V. Aho, J. E. Hopcroft, J. D. Ullman. Projektowanie i analiza algorytmów. Helion, Warszawa, 2003.
A. V. Aho, J. E. Hopcroft, J. D. Ullman. Projektowanie i analiza algorytmów. Państwowe Wydawnictwa Naukowe, Warszawa, 1983.
Niklaus Wirth. Algorytmy + Struktury Danych = Programy. Wydawnictwa Naukowo-Techniczne, Warszawa, wydanie 2, 1989.
T. H. Cormen, C. E. Leiserson, R. L Rivest. Wprowadzenie do algorytmów. Wydawnictwa Naukowo-Techniczne, Warszawa, 1997.
L. Banachowski, K. Diks, W. Rytter. Algorytmy i struktury danych. Wydawnictwa Naukowo-Techniczne, Warszawa, 1996.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: