1. Wprowadzenie
W ramach modułu zostaną omówione podstawowe zagadnienia związane ze strukturami danych oraz ich wykorzystaniem do tworzenia algorytmów. Omówione zostaną zasady zapisu pseudokodu, który ma na celu przedstawienie ogólnej struktury algorytmu i operacji, które mają być wykonane, nie skupiając się na szczegółach składniowych danego języka programowania. Zostanie omówiony sposób tworzenia struktur takich jak stosy, kolejki wraz z omówieniem podstawowych operacji. Omawiany ...
2. Algorytmy przeszukiwania i sortowania
W ramach modułu zostanie omówione zagadnienie związane ze złożonością obliczeniową algorytmów oraz przegląd algorytmów do przeszukiwania uwzględniający m.in. przeszukiwanie liniowe i binarne, przeszukiwanie tekstów, problem skoczka szachowego, czy problem plecakowy. Zostanie także przedstawiony przegląd metod konstruowania algorytmów. W ramach opisu zostaną przedstawione oraz omówione elementarne algorytmu sortowania takie jak: sortowanie przez wybieranie (ang. selection s...
3. Drzewa
W ramach modułu zostaną omówione treści związane z tworzeniem drzew binarnych. Zostanie omówiona ogólna struktura drzewa binarnego wraz z podaniem podstawowych operacji jakie można wykonać jak np. wyszukiwanie elementów, dodawanie węzłów do drzewa, usuwanie wybranych węzłów oraz całego drzewa. Omówione zostaną metody poruszania się po drzewie BST tzn. poruszanie w kolejności inorder, preorder oraz postorder. Wszystkie operacje na drzewie BST zostaną zilustrowane oraz ...
4. Grafy
W ramach modułu zostaną przedstawione struktury złożone w postaci grafów, dzięki którym możemy modelować najrozmaitsze sieci połączeń, tak bardzo popularne w wielu dziedzinach codziennego życia. W ramach zawartych treści czytelnik zyska wiedzę dotyczącą trzech zasadniczych grup problemów grafowych: przeszukiwaniu grafu, wyznaczaniu najkrótszych ścieżek między wierzchołkami grafu, wyznaczaniu minimalnego drzewa rozpinającego w grafie. Omówione zostaną metody reprezentacji ...