Course Card
null
- Status:
- Archiwalny od 2022
1DI1302 - Algorytmy i struktury danych
- Course secondName name:
- Algorithms and Data Structures
- Short name:ASTRUK
- Course number:1DI1302
-
Reprezentuje kierunki:
I,D,PL - Informatyka Stosowana
M,D,PL - Informatyka Stosowana
- Responsible person: prof. dr hab. inż. Jacek Starzyński
-
WWW:
http://wikidyd.iem.pw.edu.pl/index.cgi/Aisd
- Course language:PL
- ECTS:5
- Course level: Basic
- Type of pass:Exam
- Hours:
- W: 30, L: 30
- Short content:
- Zapoznanie studenta z następującymi zagadnieniami: metody tworzenia algorytmów i dowodzenia ich poprawności, pojęcie złożoności obliczeniowej czasowej i pamięciowej, najczęściej używane struktury danych: listy, drzewa, kopce, tablice, grafy, hasze i związane z nimi algorytmy, relacja pomiędzy danymi i algorytmami, podstawowe abstrakcyjne typy danych: kolejki, zbiór, słownik. Wybrane algorytmy przetwarzania danych: sortowanie tablic, operacje na drzewach binarnych i BST, kompresja, algorytmy dla grafów, wyszukiwanie wzorca. Problemy NP trudne, NP-zupełność, sztuczna inteligencja jako metoda rozwiązywania problemów o wielkiej złożoności obliczeniowej.
Kurs jest podstawą do tworzenia oprogramowania we wszystkich językach imperatywnych. Przygotowuje studenta do pracy jako projektant oprogramowania, programista, analityk oprogramowania. - Syllabus details:
- Podstawowe pojęcia, złożoność obliczeniowa. Analiza algorytmów i dowodzenie poprawności. Algorytmy sortowania tablic. Sortowanie o złożoności liniowej. Struktury wykorzystujące wskaźniki: listy, drzewa, grafy. Listy liniowe, drzewa wyważone, haszowanie. Opakowywanie struktur danych, abstrakcyjne typy danych. Kontenery w Javie. Wybrane algorytmy kompresji. Programowanie dynamiczne. Wybrane algorytmy działające na grafach. Wyszukiwanie wzorca w napisach. Algorytmy ewolucyjne. Problemy NP-zupełne.
- Literature:
- 1. Cormen, Leiserson, Rivest, Stein - Wprowadzenie do algorytmów, wyd. 2, WNT 2004;
2. Lafore - Java. Algorytmy i struktury danych, Helion 2003
3. Knuth - Sztuka programowania, WNT 2002 - Grading criteria:
- Zgodnie z regulaminem kursu.
- Notes:
- Courses which this course is based on (prerequisities):
- [1DI1206] Języki i metody programowania 2
- [1DI1108] Języki i metody programowania 1