Program prezentujący działanie algorytmów działających na grafach
- Algorytm Minty’ego
- Tworzenie grafu
Przy okazji podnoszenia jednej oceny powstał prosty program prezentujący 3 algorytmy operujące na grafach. Pozwala on wprowadzić dowolny graf, o rożnych wagach a następnie prezentuje jego rozwiązanie krok po kroku.
Program powstawał przy mniejszej lub większe niechęci przez wakacje. Pierwsza część programu to edycja i implementacja struktur grafowych. Klasy tam zaimplementowane pozwalają zaprojektować graf, zapisać go/wczytać i uruchomić fragment prezentujący dany algorytm. Drugą częścią jest abstrakcyjna klasa AbstractSolver, ułatwiająca pisanie klas rozwiązujących o spójnym wyglądzie i funkcjonalności. Właśnie te 3 przykładowe algorytmy stanowią drugą cześć, stworzoną już nie przeze mnie ale przez Jakuba Tutro i Pawła Górkę.
W tym projekcie najbardziej zadowala mnie rozplanowanie jego działania, i zaprojektowanie klas, które choć zapewne nie jest idealne, umożliwiło jasny podział pracy, zminimalizowało ilość kodu i zwiększyło elastyczność takiego rozwiązania.
Program powstawał przy równoczesnej pracy, dlatego do jej synchronizacji wykorzystałem darmowy serwis http://www.assembla.com/, a konkretnie udostępniony przez niego serwer SVN. Zainteresowani mogą pobrać projekt prosto z repozytorium: http://subversion.assembla.com/svn/graph-algorithms.
Dla nie potrafiących korzystać z SVN, lub tylko chcących zerknąć na efekt prac zamieszczam tutaj gotowy instalator z potrzebnymi plikami DLL (całość opiera się o biblioteki QT4.5).
Instalator: Instalator programu Grafy-Algorytmy
Pliki: Pliki wykonywalne i skrypt instalatora
Źródła: Źródła programu Grafy-Algorytmy

