Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all articles
Browse latest Browse all 516796

Поиск в глубину на графах - Delphi для начинающих

$
0
0
помогите исправить код

реализую нерекурсивный поиск в глубину по матрице смежности. добавление вершины в стек и соответственно путь от одной к другой вершине показываю на поле image при каждой нажатии кнопки для выполнения по шагам. когда обход завершен на экран выводится сообщение "окончено"

видимо,не правильно реализовал алгоритм, так как выполняется не для всех графов
например, имея следующую матрицу смежности(в файле она записана по-другому,тут для лучшего представления)
8
____________
1 |0 1 0 0 0 0 0 0
2 |1 0 0 0 1 0 0 1
3 |0 0 0 1 0 1 0 0
4 |0 0 1 0 1 0 0 0
5 |0 1 0 1 0 1 0 1
6 |0 0 1 0 1 0 0 0
7 |0 0 0 0 0 0 0 1
8 |0 1 0 0 1 0 1 0

если начинать обход с вершины 1, то он получается такой: 1 2 5 4 3 6 (не выполнен возврат к 5 вершине,вершины 8 и 7 не просмотрены)

если начинать обход с вершины 3, то он получается такой: 3 4 3 6 5 2 8 7 (порядок неправильный, к вершине 1 не пришли)

если выполняем возврат на предыдущую вершину,то это надо показать другим цветом,пока что тоже не знаю как

Вложения
Тип файла: txt вгл.txt (2.1 Кб)

Viewing all articles
Browse latest Browse all 516796

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>