2026-rff_mp/rybakovaa/lab2/docs/report.md

50 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Отчёт: поиск пути в лабиринте
Паттерны: Builder, Strategy, Observer
```mermaid
classDiagram
class MazeBuilder
class TextFileMazeBuilder
class PathFindingStrategy
class BFSStrategy
class DFSStrategy
class AStarStrategy
class MazeSolver
class Observer
class ConsoleView
MazeBuilder <|-- TextFileMazeBuilder
PathFindingStrategy <|-- BFSStrategy
PathFindingStrategy <|-- DFSStrategy
PathFindingStrategy <|-- AStarStrategy
Observer <|-- ConsoleView
MazeSolver --> PathFindingStrategy
```
| Лабиринт | Стратегия | Время (мс) | Длина пути | Найден |
| --- | --- | --- | --- | --- |
| маленький 10x10 | BFS | 0.14 | 19 | да |
| маленький 10x10 | DFS | 0.08 | 37 | да |
| маленький 10x10 | A | 0.25 | 19 | да |
| средний 50x50 | BFS | 2.88 | 99 | да |
| средний 50x50 | DFS | 1.91 | 283 | да |
| средний 50x50 | A | 2.43 | 99 | да |
| большой 100x100 | BFS | 12.23 | 199 | да |
| большой 100x100 | DFS | 8.78 | 1643 | да |
| большой 100x100 | A | 8.60 | 199 | да |
| пустой 50x50 | BFS | 4.88 | 99 | да |
| пустой 50x50 | DFS | 3.13 | 1275 | да |
| пустой 50x50 | A | 11.55 | 99 | да |
| без выхода 20x20 | BFS | 0.00 | 0 | нет |
| без выхода 20x20 | DFS | 0.00 | 0 | нет |
| без выхода 20x20 | A | 0.00 | 0 | нет |
![График](data/maze_time_comparison.png)
## Выводы
- BFS и A* находят кратчайший путь.
- DFS путь может быть длиннее.
- На пустом лабиринте алгоритмы работают быстрее всего.
- Без выхода все стратегии возвращают пустой путь.