Skip to content

About

Search algorithm in a maze. Run it in the terminal with the command: python labyrinth.py labyrinth2.txt and see the result.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

🧩 Maze Pathfinder – StackGrenze / QueueGrenze

Dieses Projekt verwendet ein ASCII-Labyrinth (labyrinth2.txt), um Suchalgorithmen mit einer Stack-basierten bzw. Queue-basierten Frontier zu demonstrieren.

  • DFS (Depth-First Search) → StackGrenze
  • BFS (Breadth-First Search) → QueueGrenze

Das Labyrinth wird aus einer Textdatei geladen und vom Algorithmus Schritt für Schritt durchsucht, bis das Ziel gefunden wird.
Am Ende wird ausgegeben, wie viele Zustände (States) benötigt wurden, um das Ziel zu erreichen.


🔄 BFS aktivieren

Um Breadth-First Search (BFS) zu verwenden, setze in der Methode:

def solve(self, bfs=True):
den Parameter bfs=True.

bfs=True → BFS (QueueGrenze)

bfs=False → DFS (StackGrenze)

(Standardmäßig ist DFS aktiviert.)

## 📁 Projektstruktur
├── labyrinth2.txt # ASCII-Labyrinth
├── labyrinth.py #Suchalgorithmen BFS/DFS
├── README.md

---
🧱 Maze-Format (labyrinth2.txt)

Das Labyrinth besteht aus einfachen ASCII-Zeichen:

Symbol	Bedeutung
#	Wand (nicht begehbar)
.	Freier Weg
A	Startposition
B	Ziel
Beispiel:
#######
###..B#
#####.#
#.#####
#A#####

🧠 Suchalgorithmen
Depth-First Search (DFS)

Verwendet eine StackGrenze

Sucht tief in eine Richtung

Kein garantierter kürzester Weg

Breadth-First Search (BFS)

Verwendet eine QueueGrenze

Durchsucht das Labyrinth Ebene für Ebene

Garantiert den kürzesten Weg

Beim Auführen im Terminal:
python labyrinth.py labyrinth2.txt

About

Search algorithm in a maze. Run it in the terminal with the command: python labyrinth.py labyrinth2.txt and see the result.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages