|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.06.2009, 14:44 | #1 |
Новичок
Джуниор
Регистрация: 06.12.2008
Сообщений: 2
|
Метод обхода графа в глубину (Java)
Помогите, пожалуйста, найти ошибку! Программа работает через раз.
n - количество вершин в графе a[i] [j] - матрица стоимости (a[i][j]=1 - ребро существует, иначе нет) visit [i] - массив посещенности: visit [i] = 1 - вершина i посещена, visit [i] = 0 - вершина i не посещена yk - указатель вершины стека st [i] - стэк pp - флажок Код процедуры на языке JAVA: public void glybina() { visit = new int [ n ]; st = new int [ n ]; for ( i=0; i<n; i++) { visit [ i ] = 0;} yk = 1; st [ yk ] = v; visit [ v ] = 1; while ( yk > 0) { w = st [ yk ]; j = 0; pp = 0; do { if ( a [ w ] [ j ] == 1 && visit [ j ] == 0) { pp = 1;} else { j =j+1;} } while ( pp == 0 && j<n ); if ( pp== 1) { yk = yk+1; st [ yk ] = j; visit [ j ] = 1; } else { yk = yk-1; } } } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
определение направления обхода контура | tae1980 | Microsoft Office Excel | 43 | 13.05.2009 13:09 |
Обход дерева в глубину | patriarch | Общие вопросы C/C++ | 1 | 07.05.2009 12:31 |
Поиск кратчайшего пути в графе методом полного перебора в глубину. Метод ветвей и границ | Олинька | Помощь студентам | 1 | 24.12.2008 16:22 |
Обход графа в глубину | coptor | Общие вопросы Delphi | 0 | 09.12.2008 22:50 |