Algorytmy i Struktury Danych 2
Transkrypt
Algorytmy i Struktury Danych 2
Załącznik Data: 01.10.2009r. Wydanie: I Symbol: Z-5.4-1-1 Strona: Status: obowiązujący 1/1 KARTA PRZEDMIOTU KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 Nazwa przedmiotu: ALGORYTMY I STRUKTURY DANYCH 2 Kod/nr AiSD2/NSMW Kierunek: INFORMATYKA Specjalność: PRZEDMIOT OBOWIĄZKOWY DLA WSZYSTKICH STUDENTÓW Tryb studiów: NIESTACJONARNE DRUGIEGO STOPNIA, WIECZOROWE Liczba pkt ECTS: 4 Rodzaj przedmiotu: TECHNICZNY Instytut/ Katedra: INFORMATYKI Semestr: I (IX) Prowadzący przedmiot: dr inŜ. Jacek Widuch Prowadzący zajęcia: Liczba godzin Wykład: Widuch dr inŜ. JacekWykład: Ćwiczenia: Widuch dr inŜ. Ćwiczenia: 15 JacekLaboratorium: Laboratorium: Projekt: 30 Projekt: Seminarium: Seminarium: Powiązanie ze standardami i cel kształcenia Przedmiot jest kontynuacją przedmiotu Algorytmy i Struktury Danych prowadzonego dla semestru 4 wieczorowych studiów inŜynierskich niestacjonarnych. Celem przedmiotu jest wprowadzenie słuchacza w zaawansowane zagadnienie algorytmów i struktur danych. Prezentowane są zagadnienia związane z kompresją danych, kryptografią i kryptoanalizą, metaheurystyki optymalizacyjne, wybrane algorytmy grafowe. Ponadto student zapoznawany jest z drzewiastymi strukturami danych, tablicami i drzewami sufiksów stosowanymi w przetwarzaniu tekstów oraz na przykładzie drzewa BST z trwałymi strukturami danych. Studenci nabywają umiejętności analizy złoŜoności, oceny algorytmów, a takŜe konstruowania algorytmów z uŜyciem zaawansowanych technik algorytmicznych. Załącznik Data: 01.10.2009r. Wydanie: I Status: obowiązujący Symbol: Z-5.4-1-1 Strona: 2/1 KARTA PRZEDMIOTU Nazwa przedmiotu: ALGORYTMY I STRUKTURY DANYCH 2 Kod/nr AiSD2/NSMW Przedmioty wprowadzające oraz wymagania wstępne Przedmiotami wprowadzającymi do niniejszego przedmiotu są: 1. Analiza Matematyczna i Algebra Liniowa 2. Algorytmy i Struktury Danych (część I dla wieczorowych studiów inŜynierskich niestacjonarnych) 3. Programowanie Komputerów Zakłada się, Ŝe słuchacz wykazuje znajomość materiału prezentowanego w ramach wymienionych przedmiotów. Załącznik Data: 01.10.2009r. Wydanie: I Status: obowiązujący Symbol: Z-5.4-1-1 Strona: 3/1 KARTA PRZEDMIOTU Nazwa przedmiotu: ALGORYTMY I STRUKTURY DANYCH 2 Kod/nr AiSD2/NSMW Treść wykładów: 1. Algorytmy kompresji danych: kodowanie Huffmana; kodowanie arytmetyczne; algorytmy z rodziny LZ: LZ77, LZ78, LZW, LZSS; algorytmy z rodziny BWT: transformata BWT i odwrotna, algorytmy drugiego etapu i dalsze modelowanie; algorytmy z rodziny PPM; algorytmy kompresji obrazów; algorytmy kompresji mowy i dźwięków; algorytmy kompresji wideo. 2. Struktury drzewiaste: drzewa BST; drzewa AVL; drzewa czerwono-czarne; listy pomijane; drzewa splay; kopce; drzepce; operacje wstawiania, usuwania i wyszukiwania. 3. Drzewa i tablice sufiksów: definicja i własności drzewa sufiksów; algorytm Ukkonena budowy drzewa sufiksów; wyszukiwanie w drzewie sufiksów; uogólnione drzewa sufiksów; definicja tablicy sufiksów; zastosowania tablic i drzew sufiksów. 4. Trwałe struktury danych: typy struktur danych ze względu na trwałość; metoda grubych węzłów; metoda kopiowania ścieŜki; metoda Sleatora i Tarjana. 5. Przeszukiwanie grafu: algorytmy przeszukiwania w głąb i wszerz. 6. Wyznaczanie najkrótszej ścieŜki w grafie waŜonym: algorytmy Floyda-Warshalla, Dijkstry, Bellmana-Forda, Johnsona. 7. Sortowanie topologiczne. 8. Maksymalny przepływ w sieci: sieć przepływowa; przepustowość; przepływ w sieci; przepływ netto; przepustowość residualna; sieć residualna; algorytm FordaFulkersona; algorytm Edmondsa-Karpa; przepływ blokujący; algorytm Dinica; algorytm MKM; sieć przepływowa z wieloma źródłami i wieloma ujściami. 9. Grafy dwudzielne: wykrywanie dwudzielności grafu; maksymalne skojarzenie. 10. Wykrywanie ujemnego cyklu w grafie waŜonym za pomocą algorytmów FloydaWarshalla i Bellmana-Forda. 11. Metaheurystyki optymalizacyjne: przeszukiwanie lokalne w wersji stromej i zachłannej; symulowane wyŜarzanie; przeszukiwanie tabu; algorytmy genetyczne. 12. Kryptografia i kryptoanaliza: szyfr Cezara; szyfr Vigenere'a; algorytm DES; algorytm RSA; systemy klucza publicznego. Treść/Tematy: Ćw./L./P./Sem. Podczas ćwiczeń rozwiązywane są zadania ilustrujące i utrwalające materiał przedstawiony w trakcie wykładu. Załącznik Data: 01.10.2009r. Wydanie: I Symbol: Z-5.4-1-1 Strona: Status: obowiązujący 4/1 KARTA PRZEDMIOTU Nazwa przedmiotu: ALGORYTMY I STRUKTURY DANYCH 2 Kod/nr AiSD2/NSMW Metody dydaktyczne Wykład i ćwiczenia tradycyjne: kreda + tablica, uzupełnione wydrukami pseudokodów omawianych algorytmów. Wymienione materiały dostępne na stronie przedmiotu znajdującej się na Platformie Zdalnej Edukacji pod adresem: http://platforma.polsl.pl/rau2/. Forma egzaminu/zaliczenia przedmiotu Zaliczenie ćwiczeń udzielane jest na podstawie kolokwium zaliczeniowego w formie pisemnej. Kolokwium składa się wyłącznie z części zadaniowej. Nie ma moŜliwości poprawy oceny z kolokwium. Zaliczenie przedmiotu udzielane jest na podstawie egzaminu w formie pisemnej i oceny z ćwiczeń. Egzamin składa się z dwóch części: teoretycznej i zadaniowej obejmującej materiał przedstawiony w trakcie wykładu i ćwiczeń. Minimalne wymagania do egzaminu /zaliczenia Warunkiem uzyskania zaliczenia przedmiotu jest otrzymanie z egzaminu oceny co najmniej 3.0. Na podstawie oceny uzyskanej z kolokwium zaliczeniowego student moŜe uzyskać zwolnienie z egzaminu. Zwolnienie jest udzielane według następujących reguł: Ocena z kolokwium Ocena z egzaminu [3.75; 4.25) 4.0 [4.25; 4.5] 4.5 (4.5; 5.0] 5.0 Ocena końcowa jest wystawiana na podstawie średniej ocen: oceny z egzaminu i oceny z kolokwium zaliczeniowego. Literatura 1. Z. Czech, S. Deorowicz, P. Fabian: Algorytmy i struktury danych. Wybrane zagadnienia, Skrypty uczelniane nr 2400, Wydawnictwo Politechniki Śląskiej, Gliwice 2007 2. E. M. Reingold, J. Nievergelt, N. Deo: Algorytmy kombinatoryczne, PWN, Warszawa 1985 3. T. H. Cormen, Ch. E. Leiserson, R. L. Rivest: Wprowadzenie do algorytmów, WNT, Warszawa 1997 4. J. Bentley: Perełki oprogramowania, WNT, Warszawa 1992 5. D. Harel: Rzecz o istocie informatyki: algorytmika, WNT, Warszawa 1992 6. R. Sedgewick, Algorytmy w C++, Wydawnictwo RM Sp. z O. O., Warszawa 1999 Data: 01.10.2009r. Wydanie: I Załącznik Symbol: Z-5.4-1-1 Strona: Status: obowiązujący 5/1 KARTA PRZEDMIOTU Nazwa przedmiotu: ALGORYTMY I STRUKTURY DANYCH 2 Kod/nr AiSD2/NSMW 7. N. Wirth: Algorytmy + struktury danych = programy, WNT, Warszawa 2000 8. L. Banachowski, K. Diks, W. Rytter: Algorytmy i struktury danych, WNT, Warszawa 1996 9. D. E. Knuth: Sztuka programowania, WNT, Warszawa 2002 10. M. Sysło, N. Deo, J. Kowalik: Algorytmy optymalizacji dyskretnej z programami w języku Pascal, PWN, Warszawa 1995 11. W. Lipski: Kombinatoryka dla programistów, WNT, Warszawa 1989 12. L. Banachowski, A. Kreczmar, W. Rytter: Analiza algorytmów i struktur danych, WNT, Warszawa 1989 13. A. V. Aho, J. E. Hopcroft, J. D. Ullman: Projektowanie i analiza algorytmów, Wydawnictwo Helion, Gliwice 2003 14. D. Jungnickel: Graphs, networks and algorithms, Springer, Berlin, Germany 1999 Zatwierdzono: ……………………………. ………………………………………………… (data i podpis prowadzącego) (data i podpis Dyrektora Instytutu/Kierownika Katedry)