Skip to content

HoussemNasri/PathfindingV2

Repository files navigation

🎯 Pathfinding

Pathfinding is a graphical Java application for simulating pathfinding algorithms backed by the Model-View-Presenter architecture pattern

Included Algorithms

  • A*: find the shortest path in a weighted graph using an heuristic to guide the process.
  • Dijkstra: find the shortest path in a weighted graph.
  • DFS: explore a graph by going as far as possible, then backtrack.
  • BFS: explore nearest successors first, then widen the search.
  • Edmonds Karp: find the maximum flow in a weighted graph.
  • Fringe: find the shortest path in a weighted graph using an heuristic to guide the process.
  • IDA*: explore longer and longer paths in a weighted graph at the cost of multiple similar examinations.
  • 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 alt text

Download

See the releases page for the latest build