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)