Algorytmy i struktury danych - 2014
Matematyka stosowana
Czwartek 730 - 900 A-1/204 wykład
Poniedziałek 730 - 900 D-1/317.3 laboratorium
Poniedziałek 1855 - 2035 D-1/317.2 laboratorium
Czwartek 1315 - 1500 D-1/317.4 laboratorium
Czwartek 1855 - 2035 D-1/317.2 laboratorium
Czwartek 1855 - 2035 D-1/317.4 laboratorium
Piątek 1515 - 1655 D-1/317.3 laboratorium
Wyniki kolokwium
Literatura
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Introduction to Algorithms. (wydane również przez WNT i PWN)
- Jon Kleinberg, Eva Tardos: Algorithm Design.
- Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani: Algorithms. (wydane również przez PWN)
- Bruce Eckel: Thinking in C++. Helion, 2009
Listy zadań na laboratorium
Tematy wykładów (w przybliżeniu)
- Wprowadzenie. (9-10-2014)
[Notacja asymptotyczna. Tablica, stos, kolejka i kolejka priorytetowa (listy jedno i dwukierunkowe, kopiec).]
- Grafy. (16-10-2014)
[Definicja grafów. Przykładowe zastosowania. Przeglądanie wszerz i wgłąb. Porządek topologiczny i składowe silnie spójne.]
- Algorytmy zachłanne. (23-10-2014)
[Przydział odcinków czasowych. Najkrótsza ścieżka w grafie - algorytm Dijkstry. Minimalne drzewo rozpinające - algorytm Kruskala i algorytm Prima. Struktura Union-Find.]
- Algorytmy „dziel i rządź”. (30-10-2014)
[Mergesort, znalezienie najbliższej pary punktów, mnożenie liczb całkowitych. Równania rekurencyjne. Twierdzenie o rekurencji uniwersalnej.]
- Programowanie dynamiczne. (6-11-2014)
[Przydział odcinków czasowych z wagami. Najkrótsze scieżki w grafie z ujemnymi wagami. Ogólna charakterystyka algorytmów dynamicznych.]
- Przepływy w sieciach. (13-11-2014)
[Algorytm Forda-Fulkersona. Modyfikacja Edmondsa-Karpa. Maksymalne skojarzenie w grafie dwudzielnym. Rozłączne ścieżki w grafie.]
- Rozszerzenia problemu maksymalnego przepływu. (20-11-2014)
[Rozszerzenie o wielu dostawców i konsumentów, minimalny przepływ przez krawędź, minimalny i maksymalny przepływ przez wierzchołek. Ścieżki rozłączne wierzchołkowo.]
- Analiza kosztu zamortyzowanego. (27-11-2014)
[Licznik binarny: koszt pesymistyczny, koszt sumaryczny, metoda księgowania i metoda potencjału. Tablice dynamiczne.]
- Klasa NP i niepodatność obliczeniowa. (4-12-2014)
[Problemy maksymalnego zbioru niezależnego, minimalnego pokrycia wierzchołkowego, pokrycia zbiorami, SAT i 3SAT. Redukcja wielomianowa. Definicja klasy NP i problemy NP-zupełne.]
- NP i co-NP. PSPACE. (11-12-2014)
[Inne problemy NP-zupełne i co-NP-zupełne. Problemy PSPACE-zupełne: QSAT i Gry dwuosobowe.]
- Algorytmy aproksymacyjne. (18-12-2014)
[Aproksymacja przydziału zadań na maszyny. Aproksymacja pokrycia wierzchołkowego. Nieaproksymowalność ogólnego TSP. Schemat aproksymacyjny dla problemu plecakowego.]
- Optymalizacja liniowa. (8-01-2015)
- Algorytmy losowe. (15-01-2015)
- Metaheurystyki. (22-01-2015)
- Kolokwium zaliczeniowe. (29-01-2015)
[Przykładowe kolokwium - nie uwzględnia całego możliwego materiału z wykładu]
Zasady zaliczenia kursu
Ocena z laboratorium bierze pod uwagę umiejętności nabyte w trakcie kursu oraz terminowość oddawania zadań.
Zadania powinny być samodzielnie rozwiązane i zaimplementowane przez studenta.
Listy dzielą się na dwie kategorie: na zaliczenie i na ocenę - średnia z ocen tych drugich list jest podstawą zaliczenia laboratorium.
Za listę oddaną w terminie uważa się listę oddaną na zajęciach na które jest przeznaczona lub na następnych zajęciach.
Każdy tydzień spóźnienia każdej listy obniża końcową ocenę z laboratorium o 0,2.
Aby zaliczyć laboratorium wszystkie listy muszą być zaliczone.
Kolokwium przeprowadzane jest na ostatnim wykładzie - ocena z niego jest składową oceny z kursu.
Do zaliczenia kursu konieczna jest pozytywna ocena z kolokwium.
Ocena z kursu jest sumą ważoną: 50% oceny z laboratorium i 50% oceny z kolokwium, zaokrągloną do najbliższej oceny
(2.76-3.25 - 3, 3.26-3.75 - 3.5, itd.).