Algorytmy i Struktury Danych - Platforma Zdalnej Edukacji
Transkrypt
Algorytmy i Struktury Danych - Platforma Zdalnej Edukacji
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 Kierunek: Kod/nr AiSD/NSI INFORMATYKA Specjalność: PRZEDMIOT OBOWIĄZKOWY DLA WSZYSTKICH STUDENTÓW. Tryb studiów: NIESTACJONARNE PIERWSZEGO STOPNIA (NSI) Rodzaj przedmiotu: Liczba pkt ECTS: 6 KIERUNKOWY Instytut/ Katedra: INFORMATYKI Semestr: IV Prowadzący przedmiot: Prowadzący zajęcia: dr inŜ. Jacek Widuch Liczba godzin Wykład: Wykład: Widuch dr inŜ. Jacek Ćwiczenia: Ćwiczenia: Wojdyła mgr inŜ. Tomasz Laboratorium: 30 30 Laboratorium: Projekt: Seminarium: Projekt: Seminarium: Powiązanie ze standardami i cel kształcenia Celem jest wprowadzenie słuchacza w zagadnienie algorytmów i struktur danych. Prezentowane są zagadnienia złoŜoności obliczeniowej oraz podstawowe algorytmy dla wybranych problemów obliczeniowych, np. sortowanie, wyszukiwanie, wybrane algorytmy grafowe, algorytmy zachłanne i geometryczne, programowanie dynamiczne, wyszukiwanie wyczerpujące, funkcje mieszające, generowanie obiektów kombinatorycznych. Ponadto omawiane są wybrane struktury danych takie, jak drzewa binarne, kopce, kolejki priorytetowe. Studenci nabywają umiejętności analizy złoŜoności, oceny algorytmów, a takŜe umiejętności konstruowania algorytmów z uŜyciem podstawowych technik algorytmicznych. Omawiane zagadnienia ilustrowane są licznymi przykładami. 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 Kod/nr AiSD/NSI Przedmioty wprowadzające oraz wymagania wstępne Przedmiotami wprowadzającymi do niniejszego przedmiotu są: 1. Analiza Matematyczna i Algebra Liniowa 2. Programowanie Komputerów 3. Podstawy Informatyki 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 Kod/nr AiSD/NSI Treść wykładów: 1. ZłoŜoność obliczeniowa algorytmów: operacje elementarne; operacje dominujące; złoŜoność pamięciowa; złoŜoność czasowa średnia i pesymistyczna; typowe funkcje złoŜoności; miara wraŜliwości średniej i pesymistycznej. 2. Szacowanie złoŜoności obliczeniowej algorytmów: definicja i własności O-notacji; definicja notacji Ω; definicja notacji Θ. 3. Kopce: definicja kopca; implementacja kopca za pomocą tablicy; przemieszczanie elementu w górę (wersja procedury bez wartownika i z wartownikiem); przemieszczanie elementu w dół. 4. Kolejki priorytetowe: definicja kolejki priorytetowej; implementacja kolejki za pomocą kopca; operacje na kolejkach priorytetowych (zerowanie, wstawianie nowego elementu, usuwanie minimum). 5. Sortowanie przez kopcowanie: definicja kopca o odwróconym porządku; algorytm sortowania; wyznaczanie k ekstremalnych wartości. 6. Kres dolny złoŜoności pesymistycznej sortowania wewnętrznego: drzewo decyzyjne sortowania; permutacja sortująca; wzór Stirlinga. 7. Sortowanie przy uwzględnieniu szczególnych własności kluczy: sortowanie przez zliczanie; sortowanie kubełkowe; sortowanie pozycyjne; sortowanie dat. 8. Wyszukiwanie liniowe oraz binarne. 9. Wyszukiwanie wzorca w tekście: algorytm "naiwny"; algorytm Knutha, Morrisa i Prata; wyszukiwanie niezgodnościowe; algorytm Boyera i Moore'a; algorytm Rabina i Karpa. 10. Wyznaczanie wartości współczynników dwumianowych: algorytm według metody "dziel i zwycięŜaj"; algorytm według programowania dynamicznego. 11. Sortowanie plików sekwencyjnych: sortowanie przez łączenie naturalne; sortowanie przez łączenie proste. 12. Algorytmy grafowe: przeszukiwanie grafu w głąb i wszerz; wyszukiwanie składowych spójności; wyznaczania najkrótszej ścieŜki w grafie; wyznaczanie cykli podstawowych (fundamentalnych); wyznaczanie minimalnego drzewa rozpinającego graf (algorytm Kruskala, algorytm Prima-Dijkstry); wyznaczanie cykli Eulera. 13. Algorytmy zachłanne: problem wydawania reszty; problem komiwojaŜera (algorytm dokładny, algorytm zachłanny "najkrótsze krawędzie", algorytm zachłanny "najbliŜszy sąsiad"); kolorowanie wierzchołków grafu; kolorowanie krawędzi grafu. 14. Algorytmy geometryczne: wypukła otoczka, algorytm Grahama; algorytm Jarvisa. Załącznik Data: 01.10.2009r. Wydanie: I Status: obowiązujący Symbol: Z-5.4-1-1 Strona: 4/1 KARTA PRZEDMIOTU Nazwa przedmiotu: ALGORYTMY I STRUKTURY DANYCH Kod/nr AiSD/NSI Treść/Tematy: Ćw./L./P./Sem. Tematy ćwiczeń: 1. Metody wyznaczania niektórych typów równań. 2. Wyznaczanie złoŜoności algorytmów. 3. Proste algorytmy sortowania. 4. Sortowanie szybkie oraz wyznaczanie k-tego co do wielkości elementu. 5. Programowanie dynamiczne. 6. Struktury drzewiaste. 7. Wyszukiwanie wyczerpujące. 8. Algorytmy grafowe. 9. Funkcje mieszające. 10. Generowanie obiektów kombinatorycznych. 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/. Dostępny jest takŜe skrypt uczelniany nr 2400 zawierający treści wszystkich tematów omawianych podczas ćwiczeń. Forma egzaminu/zaliczenia przedmiotu Zaliczenie ćwiczeń udzielane jest na podstawie dwóch kolokwiów zaliczeniowych w formie pisemnej. Kolokwia składają się z części zadaniowej. 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 średniej ocen uzyskanych z kolokwiów zaliczeniowych 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. 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 Kod/nr AiSD/NSI 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 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 Zatwierdzono: ……………………………. ………………………………………………… (data i podpis prowadzącego) (data i podpis Dyrektora Instytutu/Kierownika Katedry)