Отслеживание узлов в BFS - Python, Лабиринт - PullRequest
0 голосов
/ 17 февраля 2020

Я реализую BFS в лабиринте, представленном массивом 2D numpy в Python 3.7.3. Этот код генерирует лабиринт:

for row in range(dim):
        # Add an empty array that will hold each cell
        # in this row
        grid.append([])
        for column in range(dim):
            grid[row].append(np.random.binomial(1, 0.2, 1))  # Append a cell
            if (row == column == dim - 1):
                grid[row][column] = 0
        grid[0][0] = 0

Я хотел бы избежать использования класса узла, так как у меня был ограниченный успех с ним. Я хочу знать, как я могу представить / сохранить отношения родитель-потомок в поиске BFS от позиции (0,0) в этом лабиринте до позиции (измерение - 1, измерение - 1). Кроме того, учитывая характер графика / лабиринта / сетки, мне НУЖНО избегать иметь детей с одинаковым местоположением, но с разными родителями. Я хочу вернуть кратчайший список узлов между начальной и конечной позициями.

Спасибо за вашу помощь.

...