|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Поиск в глубину на графах
помогите исправить код
реализую нерекурсивный поиск в глубину по матрице смежности. добавление вершины в стек и соответственно путь от одной к другой вершине показываю на поле 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 не пришли) если выполняем возврат на предыдущую вершину,то это надо показать другим цветом,пока что тоже не знаю как |