Algorytmy i struktury danych


Wstęp🔗

Złożoność i poprawność🔗

Metody konstrukcji algorytmów🔗

Algorytm zachłanne🔗

Przykłady: algorytmy Dijkstry, Prima i Kruskala.

Programowanie dynamiczne🔗

Programowanie dynamiczne realizują też, m.in.: algorytm wyznaczający najdłuższy wspólny podciąg, oraz Floyda-Warshalla.

Sortowanie tablic🔗

Algorytmy proste🔗

Algorytmy efektywne🔗

Tablice z haszowaniem🔗

Kolejki priorytetowe, kopiec binarny🔗

Algorytmy Łańcuchowe🔗

Algorytm Sunday’a🔗

Algorytm Knuth’a-Morrisa-Pratta (KMP)🔗

Algorytm Boyera-Moore’a🔗

Algorytm Karpa-Rabina🔗

Najdłuższy wspólny podciąg🔗

(z wykorzystaniem programowania dynamicznego)

Grafowe🔗

Szukanie najkrótszych ścieżek🔗

Przeszukiwanie grafu wszerz (BFS) (dla grafów bez wag)🔗

Algorytm Dijkstry (dla grafów z wagami, jedno źródło)🔗

Algorytm Floyda-Warshalla (pomiędzy każdą parą wierzchołków w grafie ważonym)🔗

Szukanie minimalnego drzewo rozpinającego🔗

Algorytm Prima🔗

Algorytm Kruskala i struktury danych dla zbiorów rozłącznych (find-union)🔗

Generowanie labiryntów z wykorzystaniem teorii grafów🔗

Polecane książki🔗

Zadania algorytmiczne z rozwiązaniami🔗

Implementacje algorytmów w różnych językach programowania🔗

Python🔗

Projekty, prace domowe🔗