Некоторые алгоритмы обхода препятствий на двухмерной сетке:
- «Вверх и вправо змейкой». 1 Обход идёт по столбцам, отсчёт ведётся с левой нижней ячейки, при переходе на следующий столбец меняется направление. 1
- «Вправо-вверх диагональю». 1 Обход по диагоналям вправо и вверх, отсчёт начинается с левой верхней ячейки. 1
- «Влево-вниз диагональю». 1 Обход по диагоналям влево и вниз, отсчёт начинается с левой верхней ячейки. 1
- «Влево-вверх диагональю». 1 Обход по диагоналям влево и вверх, отсчёт начинается с левой нижней ячейки. 1
- «Вправо-вниз диагональю». 1 Обход по диагоналям вправо и вниз, отсчёт начинается с левой нижней ячейки. 1
- «Вправо-вверх диагональной змейкой». 1 Обход по диагоналям: сначала вправо и вверх, затем направление меняется на противоположное при переходе к следующей диагонали, отсчёт начинается с левой верхней ячейки. 1
- «Спиралью по часовой, начиная с левой верхней». 1 Обход по спирали, которая закручивается по часовой стрелке, отсчёт идёт с левой верхней ячейки. 1
- «Спиралью против часовой, начиная с левой верхней». 1 Обход по спирали, которая закручивается против часовой стрелки, отсчёт идёт с левой верхней ячейки. 1
Также для поиска пути на сетке с препятствиями используют волновой алгоритм, который начинается с начальной позиции и постепенно распространяется на соседние клетки. 5