• Как вывести кратчайший путь в графе?

    @nightz9r Автор вопроса
    Удалось разобраться, спасибо! Решил задачу.
    Написано
  • Как вывести кратчайший путь в графе?

    @nightz9r Автор вопроса
    Вот так переписал алгоритм
    const itinerary = (tree, startPoint, endPoint) => {
      const graph = buildGraph(tree);
      const searchQueue = [];
      searchQueue.push(startPoint);
      const searched = [];
      const path = {};
      while(searchQueue.length > 0) {
    		const city = searchQueue.shift()
    		for(const neighbor of graph[city]) {
    			if(!searched.includes(neighbor)) {
                                    path[neighbor] = city;
    				searchQueue.push(neighbor)
    				searched.push(neighbor)
    				if(neighbor === endPoint) return path;
    			}
    		}
      };
    };

    И такой объект получил на выводе для такого пути
    console.log(itinerary(tree, 'Borisovka', 'Kurchatov'));
    {
      Belgorod: 'Borisovka',
      Kursk: 'Belgorod',
      Borisovka: 'Belgorod',
      Voronezh: 'Kursk',
      Kurchatov: 'Kursk'
    }


    В объекте получил посещенные вершины ключами, а откуда посетили вершину - значениями. Что делать с этим объектом и правильный ли объект я вообще получил. Помогите, пожалуйста, разобраться
    Написано