Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/houssemnasri/pathfindingv2
Pathfinding is a graphical Java application for simulating pathfinding algorithms
https://github.com/houssemnasri/pathfindingv2
design education hacktoberfest java javafx mvp mvp-architecture pathfinding visualization
Last synced: 27 days ago
JSON representation
Pathfinding is a graphical Java application for simulating pathfinding algorithms
- Host: GitHub
- URL: https://github.com/houssemnasri/pathfindingv2
- Owner: HoussemNasri
- Created: 2021-02-28T01:30:25.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-10-13T23:31:17.000Z (about 2 years ago)
- Last Synced: 2024-10-11T04:00:59.057Z (27 days ago)
- Topics: design, education, hacktoberfest, java, javafx, mvp, mvp-architecture, pathfinding, visualization
- Language: Java
- Homepage:
- Size: 485 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# π― Pathfinding
Pathfinding is a graphical Java application for simulating pathfinding algorithms backed by the Model-View-Presenter architecture pattern### Included Algorithms
- β [A*][A*]: find the shortest path in a weighted graph using an heuristic to guide the process.
- β [Dijkstra][Dijkstra]: find the shortest path in a weighted graph.
- β [DFS][DFS]: explore a graph by going as far as possible, then backtrack.
- [BFS][BFS]: explore nearest successors first, then widen the search.
- [Edmonds Karp][Edmonds Karp]: find the maximum flow in a weighted graph.
- [Fringe][Fringe]: find the shortest path in a weighted graph using an heuristic to guide the process.
- [IDA*][IDA*]: explore longer and longer paths in a weighted graph at the cost of multiple similar examinations.
- [IDDFS][IDDFS]: explore longer and longer paths in an unweighted graph at the cost of multiple similar examinations.### Features
- Visualize 8 algorithms
- Switch between different themes and colors
- Add/Remove obstacles
- Relocate source and destination
- Simple Navigation
- Tweak the visualization speed easily
- Examine algorithms heuristics for each node
- Step In/Out the algorithm procedure
- [TODO] Generate perfect maze using more than 4 algorithms
- [TODO] Create custom themes easily### Screenshots
![alt text](pathfinding-common/src/main/resources/assets/sc1_.png)
![alt text](pathfinding-common/src/main/resources/assets/sc2_.png)### Download
See the [releases](https://github.com/HoussemNasri/PathfindingV2/releases) page for the latest build[A*]: https://en.wikipedia.org/wiki/A*_search_algorithm
[BFS]: https://en.wikipedia.org/wiki/Breadth-first_search
[Connected components]: https://en.wikipedia.org/wiki/Connected_component_(graph_theory)
[DFS]: https://en.wikipedia.org/wiki/Depth-first_search
[Dijkstra]: https://en.wikipedia.org/wiki/Dijkstra's_algorithm
[Edmonds Karp]: https://en.wikipedia.org/wiki/EdmondsβKarp_algorithm
[Fringe]: https://en.wikipedia.org/wiki/Fringe_search
[Kruskal]: https://en.wikipedia.org/wiki/Kruskal's_algorithm
[IDA*]: https://en.wikipedia.org/wiki/Iterative_deepening_A*
[IDDFS]: https://en.wikipedia.org/wiki/Iterative_deepening_depth-first_search
[Kuhn-Munkres]: https://en.wikipedia.org/wiki/Hungarian_algorithm
[Rust]: https://rust-lang.org/
[Strongly connected components]: https://en.wikipedia.org/wiki/Strongly_connected_component
[Topological sorting]: https://en.wikipedia.org/wiki/Topological_sorting