informatyka - Wydział Elektrotechniki, Automatyki i Informatyki
Transkrypt
informatyka - Wydział Elektrotechniki, Automatyki i Informatyki
Politechnika Opolska Wydział Elektrotechniki, Automatyki i Informatyki Załącznik nr 1 do Uczelnianego Systemu Zapewnienia Jakości Kształcenia KARTA OPISU PRZEDMIOTU INFORMATYKA KIERUNEK STUDIÓW SPECJALNOŚĆ STACJONARNE I-GO STOPNIA RODZAJ STUDIÓW ALGORYTMY I STRUKTURY DANYCH NAZWA PRZEDMIOTU ALGORITHMS AND DATA STRUCTURES SUBJECT TITLE RODZAJ PRZEDMIOTU *) PODSTAWOWY; KIERUNKOWY; HUMANISTYCZNY; DODATKOWY; OBIERALNY SEMESTR STUDIÓW ECTS (pkt.) TRYB ZALICZENIA PRZEDMIOTU KOD PRZEDMIOTU: 3 5 EGZAMIN – ZALICZENIE NA OCENĘ *) B2 Przedmioty wprowadzające oraz wymagania ogólne**) PROGRAM PRZEDMIOTU FORMA ZAJĘĆ WYKŁAD ĆWICZENIA PROWADZĄCY ZAJĘCIA (tytuł/stopień naukowy, imię i nazwisko) LICZBA GODZIN ZAJĘĆ W SEMESTRZE 30 30 DR INś. ARTUR SMOLCZYK MGR INś. TERESA WIŚNIEWSKA LABORATORIUM PROJEKT SEMINARIUM TREŚCI KSZTAŁCENIA (PROGRAM NAUCZANIA) WYKŁAD Lp. Tematyka zajęć Liczba godzin 1. Zadanie algorytmiczne. Specyfikacja algorytmu. Poprawność algorytmu (częściowa i całkowita). Niezmienniki. Metody zapisu algorytmów (m.in. NSD, notacja Owsiaka). 2 2. ZłoŜoność pamięciowa i czasowa algorytmów. Operacja dominująca. Notacja asymptotyczna. 2 3. Podstawowe techniki budowania algorytmów. Rekurencja. Metoda „dziel i zwycięŜaj”. 2 4. Programowanie dynamiczne. Metoda zachłanna. 2 5. Dynamiczne struktury danych. Lista, stos, kolejka i ich implementacje oraz przykłady zastosowań (m.in. obliczanie wartości wyraŜeń w Odwrotnej Notacji Polskiej) 4 6. Grafy. Reprezentacje. Metody przeszukiwania (DFS i BFS). Minimalne drzewo rozpinające. Najkrótsze ścieŜki (algorytm Forda-Bellmana, algorytm Dijkstry, algorytm Floyda). 2 7. Drogi i cykle Eulera. Drogi i cykle Hamiltona. Kolorowanie grafów. 2 8. Przepływy w sieciach (sieci warstwowe, technika ścieŜek rozszerzających). 2 9. Drzewa. Drzewa poszukiwań binarnych (BST) i podstawowe operacje na nich (wyszukiwanie, min/max, następnik, wstawianie i usuwanie węzła). Drzewa zrównowaŜone: drzewa AVL, drzewa czerwono-czarne, b-drzewa. 4 Algorytmy teorioliczbowe. Algorytm Euklidesa i jego wersje. Liczby pierwsze i rozkład na 10. czynniki pierwsze. Faktoryzacja. Potęgowanie modulo metodą iterowanego podnoszenia 4 do kwadratu. Szyfrowanie asymetryczne. System kryptograficzny RSA. Geometria obliczeniowa. Znajdowanie otoczki wypukłej. Znajdowanie pary najmniej 11. odległych punktów. Czas wielomianowy i niewielomianowy. NP-zupełność. Problemy NP-zupełne (cykl 12. Hamiltona, problem komiwojaŜera, problem sumy podzbioru, szeregowanie zadań) RAZEM GODZIN W SEMESTRZE 2 2 30 Nazwa przedmiotu ĆWICZENIA Lp. Tematyka zajęć Liczba godzin 1. Metody analizy algorytmów. 2 2. Proste algorytmy obliczeniowe 2 3. Algorytmy tablicowe 2 4. Algorytmy rekurencyjne 2 5. Wyszukiwanie sekwencyjne, binarne, połówkowe 2 6. Sortowanie przez wstawianie, wybieranie, bąbelkowe, indeksowanie 2 7. Sortowanie pozycyjne, kubełkowe, przez scalanie, szybkie 2 8. Implementacja stosu, zastosowania stosu 2 9. Listy jednokierunkowa, dwukierunkowa 2 10. Kolejka, kolejka priorytetowa 2 11. Drzewo binarne, przeszukiwania drzew 2 12. Sortowanie przez kopcowanie 2 13. Funkcja mieszająca, tworzenie dynamicznej tablicy mieszania 2 14. Algorytmy grafowe, przeszukiwanie grafu 2 15. Algorytmy kombinatoryczne 2 RAZEM GODZIN W SEMESTRZE 30 LABORATORIUM Lp. Tematyka zajęć Liczba godzin 1. 2. RAZEM GODZIN W SEMESTRZE ĆWICZENIA PROJEKTOWE Lp. Tematyka zajęć Liczba godzin 1. 2. RAZEM GODZIN W SEMESTRZE SEMINARIUM Lp. Liczba godzin Tematyka zajęć 1. 2. RAZEM GODZIN W SEMESTRZE ZAŁOśENIA I CELE PRZEDMIOTU: Celem wykładu jest zapoznanie studentów z metodami konstrukcji algorytmów, metodami analizy ich kosztów oraz analizy poprawności. Zostaną przedstawione algorytmy rozwiązywania takich problemów jak wyszukiwanie, sortowanie, przechowywanie danych. Będzie teŜ mowa o specyfikacji i implementacji podstawowych struktur danych takich jak listy, stosy, kolejki, grafy, drzewa. Zastosowanie tych struktur będzie zilustrowane na licznych przykładach. Przedstawione zostaną podstawowe algorytmy teorioliczbowe z szczególnym uwzględnieniem faktoryzacji. Jeden z wykładów dotyczyć będzie geometrii obliczeniowej i podstawowych algorytmów z nią związanych Będzie teŜ mowa o tym co moŜna, a czego nie moŜna zrobić przy pomocy komputera, czyli o NP-zupełności METODY DYDAKTYCZNE: Wykład oparty o prezentacje multimedialne. FORMA I WARUNKI ZALICZENIA PRZEDMIOTU: Egzamin w postaci testu otwartego na indywidualnych arkuszach. 2 Nazwa przedmiotu LITERATURA PODSTAWOWA: 1. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C., Wprowadzenie do algorytmów, Wydawnictwa Naukowo - Techniczne, 2004. 2. Wirth N., Algorytmy + struktury danych = program 3. Banachowski L., Diks K., Rytter W., Algorytmy i struktury danych, , Wydawnictwa Naukowo Techniczne, 2006. 4. Donald Knuth, Sztuka programowania (Tom 1: Algorytmy podstawowe, Tom 2: Algorytmy seminumeryczne, Tom 3: Sortowanie i wyszukiwanie) LITERATURA UZUPEŁNIAJĄCA: 1. Wróblewski P., Algorytmy, struktury danych i techniki programowania 2. Sedgewick R., Algorytmy w C++ (Tom 1: Podstawy, dane strukturalne, sortowanie, wyszukiwanie, Tom 2: Grafy) 3. Aho A.V., Hopcroft J.E., Ullman J.D., Projektowanie i analiza algorytmów *) niewłaściwe przekreślić – zgodnie z arkuszem planu studiów, **) podać wybrane nazwy przedmiotów stanowiących wprowadzenie/uzupełnienie do przedmiotu opisywanego, oraz zakres wiadomości/umiejętności/kompetencji jakie powinien posiadać student przed rozpoczęciem nauki tego przedmiotu; ............................................................................. ................................................. (Kierownik jednostki organizacyjnej/bezpośredni przełoŜony: pieczęć/podpis) (Dziekan Wydziału …………………: pieczęć/podpis) 3