Metody programowania: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 52: | Linia 52: | ||
=== Moduły === | === Moduły === | ||
# [[MP_Rekursja|Rekursja]] | # [[MP_Rekursja|Rekursja]] ([[Metody_programowania_/_Ćwiczenia_1|Ćwiczenia]]) | ||
# Moduł 2 ([[Metody_programowania_/_Ćwiczenia_2|Ćwiczenia:listy]]) | |||
# | # Moduł 3 ([[Metody_programowania_/_Ćwiczenia_3|Ćwiczenia:drzewa]]) | ||
# Moduł 4 [[ | # Moduł 4 ([[Metody_programowania_/_Ćwiczenia_4|Ćwiczenia:stosy i kolejki]]) | ||
# Moduł 5 [[ | # Moduł 5 ([[Metody_programowania_/_Ćwiczenia_5|Ćwiczenia:programowanie zachłanne]]) | ||
# Moduł 6 [[ | # Moduł 6 ([[Metody_programowania_/_Ćwiczenia_6|Ćwiczenia:programowanie dynamiczne]]) |
Wersja z 23:18, 28 wrz 2006
Forma zajęć
Wykład (30 godzin) + laboratorium (30 godzin)
Opis
Celem zajęć jest prezentacja technik programistycznych i struktur danych wykorzystywanych w programowaniu w małej i średniej skali.
Sylabus
Autor
- Piotr Chrząstowski-Wachtel — Uniwersytet Warszawski
Wymagania wstępne
- Wstęp do programowania
Zawartość
- Rekurencja:
- rekurencyjne wyrażanie pojęć
- zastosowania i implementacja
- dowodzenie poprawności procedur rekurencyjnych
- Programowanie z nawrotami:
- przeszukiwanie pełnej przestrzeni stanów
- ucinanie rekursji
- Metoda dziel i rządź:
- metoda inkrementacyjna
- podział binarny
- Dynamiczne struktury danych:
- typy wskaźnikowe
- wskaźnikowa realizacja list
- podstawowe operacje na listach
- listy jednokierunkowe, dwukierunkowe i cykliczne
- atrapy i strażnicy
- Liniowe struktury danych: stosy i kolejki:
- implementacja tablicowa i listowa
- implementacja grafu za pomocą list sąsiedztwa
- algorytmy DFS i BFS
- Drzewa:
- implementacja drzew dowolnego rzędu
- drzewa binarne
- obiegi drzew
- konwersja wyrażeń z postaci infiksowej na prefiksową i postfiksową (ONP)
- Programowanie zachłanne:
- algorytm Huffmana
- Metoda spamiętywania:
- programowanie dynamiczne
- problem plecakowy
- optymalne mnożenie wielu macierzy
Literatura
- N.Wirth, Algorytmy+Struktury danych=Programy, Wydawnictwa Naukowo-Techniczne, Warszawa 2001.
- T.H.Cormen, Ch.E.Leiserson, R.L.Rivest, Wprowadzenie do algorytmiki, Wydawnictwa Naukowo-Techniczne, Warszawa 2004.
- D.E.Knuth, Sztuka programowania komputerów tom 3, Wydawnictwa Naukowo-Techniczne, Warszawa 2002.
Moduły
- Rekursja (Ćwiczenia)
- Moduł 2 (Ćwiczenia:listy)
- Moduł 3 (Ćwiczenia:drzewa)
- Moduł 4 (Ćwiczenia:stosy i kolejki)
- Moduł 5 (Ćwiczenia:programowanie zachłanne)
- Moduł 6 (Ćwiczenia:programowanie dynamiczne)