Поиск соседних узлов на графике для алгоритма BFS

#javascript #reactjs #graph #breadth-first-search

#язык JavaScript #реагирует на #График #широта-первый-поиск

Вопрос:

Я пытаюсь составить список смежности для алгоритма поиска «дыхание первым» и хочу найти соседние узлы. В настоящее время я пытаюсь просмотреть каждый узел во всех строках, а затем либо 1, либо — 1 для левого и правого соседних узлов.

 const getNeighbours = (row, col) =gt; {  let neighbours = [];  let left;  let right;  if(row gt; 0 ){  neighbours[left] = [row - 1];  }  else if(row === 0){  neighbours[right] = [row   1];   }  console.log(neighbours[left]) }   

График создается в виде 2D-массива со строками и столбцами.

 const createGrid = () =gt; {  let neighbours = [];  let grid = [];  for (let row = 1; row lt; 20; row  ) {  grid[row]= [];    for (let col = 1; col lt; 47; col  ) {  grid = createNode(grid, row, col);  }  grid.push(grid[row]);  }  return grid; };  

Значения, которые я получаю для getNeighbour, — это всего лишь 20 массивов со значениями NaN. График не имеет граничных затрат и неориентирован.

Комментарии:

1. В чем заключается ценность left и right в getNeightbours чем ? Вы объявили их, но я не вижу, чтобы они где — либо инициализировались в коде?

2. In пытался инициализировать переменные слева и справа как строку -1/ строку 1, а затем сохранить их в соседнем.