Metody programowania (podejście imperatywne) 1000-212aMPRI
1.Rekurencja, jej zastosowania i implementacja. Widoczność zmiennych - zmienne lokalne i globalne. Dowodzenie poprawności procedur rekurencyjnych.
2.Metoda dziel i rządź. Metoda inkrementacyjna oraz podział binarny.
3.Typy wskaźnikowe. Zastosowanie zmiennych wskaźnikowych do realizacji list. Podstawowe operacje na listach. Listy jednokierunkowe, dwukierunkowe i cykliczne.
4.Liniowe struktury danych: stosy i kolejki. Implementacja tablicowa i listowa. Implementacja grafu za pomocą list sąsiedztwa. Algorytmy DFS I BFS.
5.Drzewa. Implementacja drzew dowolnego rzędu. Drzewa binarne. Obiegi drzew. Konwersja wyrażeń z postaci infiksowej na prefiksową i postfiksową (ONP)
6.Programowanie zachłanne. Algorytm Huffmana.
7.Programowanie dynamiczne. Probelm plecakowy. Optymalne mnożenie wielu macierzy.
Uwagi: Następny przedmiot w serii: Algorytmy i struktury danych
Rodzaj przedmiotu
Założenia (lista przedmiotów)
Literatura
1.Algorytmy+Struktury danych=Programy, N.Wirth, WNT 2001.
2.Wprowadzenie do algorytmiki, T.H.Cormen, Ch.E.Leiserson, R.L.Rivest, WNT 2000.
3.Algorytmy w C++, R.Sedgewick, MIKON 2001
4.D. Knuth, Sztuka programowania komputerów, tom 3, WNT 2002
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: