Найти - Пользователи
Полная версия: Не работает dfs
Начало » Python для новичков » Не работает dfs
1
koast
Dfs для лабиринта .
def dfs(i,j,num):
    global a;
    global cha;
    print (i,j)
    
    a[i][j][1]=1
    if a[i+1][j][0]=='.' and a[i+1][j][1]!=1:dfs(i+1,j,1)
    if a[i+1][j][0]=='C':cha+=[(i+1,j)]
    if a[i-1][j][0]=='.' and a[i-1][j][1]!=1:dfs(i-1,j,1)
    if a[i-1][j][0]=='C':cha+=[(i-1,j)]
    if a[i][j+1][0]=='.' and a[i][j+1][1]!=1:dfs(i,j+1,1)
    if a[i][j+1][0]=='C':cha+=[(i,j+1)]
    if a[i][j-1][0]=='.' and a[i][j-1][1]!=1:dfs(i,j-1,1)
    if a[i][j-1][0]=='C':cha+=[(i,j-1)]
    
а-лабиринт в рамочке.
С-стена.
'.'-пустой проход
cha-список стен
Ошибок не выдает,просто некоторые пустые места не находит.
FishHook
Посмотрите на реализацию алгоритма DFS
от создателя питона
переделанный
и еще раз переделанный

может быть Вам пригодится
библиотека для работы с графами, и конкретно вот эта ее часть.
koast
FishHook
Посмотрите на реализацию алгоритма DFS
от создателя питона
переделанный
и еще раз переделанный

может быть Вам пригодится
библиотека для работы с графами, и конкретно вот эта ее часть.

Спасибо вам большое, но для меня желательнее понять свою ошибку. Переделывать свой граф в тот, который во всех примерах, слишком долго по времени.
koast
Все решил. Дело было в том, что кусок двумерного массива был задан ссылками на себя.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB