Tagi
systemy sieciowe i komputerowe algorytmika i złożoność obliczeniowa metody numeryczne i grafika komputerowa języki programowania i logika przetwarzanie danych Data Science Praca zespołowa Bazy danych Ekonomia Inżynieria oprogramowania Projektowanie i programowanie obiektowe Architektury systemów komputerowych Systemy operacyjne Sieci komputerowe Ochrona własności intelektualnej Rachunek prawdopodobieństwa i statystykaEfekty kształcenia
Podstawy informatyki i programowania Programowanie i projektowanie obiektowe Architektury systemów komputerowych Rachunek prawdopodobieństwa (L) Systemy operacyjne Sieci komputerowe Bazy danych Podstawy inżynierii oprogramowania Inżynieria oprogramowania (L) Rachunek prawdopodobieństwa (I) Społeczno-ekonomiczne aspekty informatyki (I)Algorytmy i struktury danych
Język wykładowy | Polski |
---|---|
Semestr | Nieokreślony |
Status | Wycofana z oferty |
Opiekun | Nieznany Prowadzący |
Liczba godzin | |
Rodzaj | Obowiązkowy 2 |
ECTS | 6 |
Polecany dla I roku | Nie |
Egzamin | Tak |
Opis przedmiotu:
Program:
- Przegląd metod projektowania efektywnych algorytmów: dziel i zwyciężaj, programowanie dynamiczne, metoda zachłanna. (4 godz.)
- Złożoność obliczeniowa algorytmu (pesymistyczna, oczekiwana, zamortyzowana). Przykłady analizy kosztu. (2 godz.)
- Sortowanie: Heapsort i Quicksort. Model drzew decyzyjnych i dolne ograniczenie na problem sortowania. Sortowanie w czasie liniowym: Countsort, Radixsort, Bucketsort. (6 godz.)
- Selekcja: algorytmy Hoarea i magicznych piątek. (2 godz.)
- Kolejki priorytetowe: kopce binarne, dwumianowe i Fibonacciego. Zastosowania w problemie najkrótszych ścieżek i minimalnego drzewa rozpinającego. (4 godz.)
- Scalanie. Drzewa turniejowe. Sortowanie zewnętrzne. (2 godz.)
- Wyszukiwanie i problem słownika. Drzewa wyszukiwań binarnych, zrównoważone drzewa wyszukiwań binarnych (AVL, 2-3-4-drzewa, drzewa czerwono-czarne). Optymalne drzewa wyszukiwań binarnych. Haszowanie. Wyszukiwanie pozycyjne. (8 godz.)
- Wyszukiwanie zewnętrzne - B-drzewa. (2 godz.)
- Problem sumowania zbiorów rozłącznych i jego zastosowania. (4 godz.)
- Algorytmy grafowe: przepływy w sieciach, skojarzenia. (4 godz.)
- Algorytmy na tekstach. Wyszukiwanie wzorca. Drzewa sufiksowe. (4 godz.)
- Geometria obliczeniowa. Lokalizacja punktu. Otoczka wypukła. Technika zamiatania. (4 godz.)
- Algorytmy algebraiczne i teorioliczbowe. FFT. Szybkie mnożenie liczb i wielomianów. (4 godz.)
- NP-zupełność. Algorytmy aproksymacyjne dla problemów obliczeniowo trudnych. Heurystyki dla problemów trudnych (algorytmy genetyczne, simulated annealing). (4 godz.)
- Modele obliczeń równoległych: PRAM, tablica procesorów, hiperkostka. Algorytmy równoległe. Klasa NC i problemy P-zupełne. (2 godz.)
- Specjalne modele obliczeń: sieci komparatorów, obwody logiczne. (2 godz.)
- Algorytmy randomizacyjne. Przykłady w dziedzinach: struktury danych, geometria obliczeniowa, algorytmy grafowe, algorytmy równoległe. (2 godz.)
Wymagania: Programowanie i Matematyka dyskretna