Справочная информация: У меня есть следующий список узлов. Данные структурированы как
(nodeID: nodevalue, nodeID: nodeValue)
представляет ребро:
![enter image description here](https://i.stack.imgur.com/3lzgM.jpg)
Цель: Создать рекурсивную BFS, чтобы найти узел с наименьшим значением.
Что уже сделано:
Я предварительно обработал данные и у меня есть четыре списка, содержащие целые числа. Эти списки имеют имена node1ID
, node1value
, node2ID
и node2value
.
Сделан словарь Node1D и Node2ID. (вызовите это как словарь 1), что делается для того, чтобы получить все соединительные узлы для Node1, как показано ниже Например, ключ 0 является родительским узлом, а значения 1,2,3,4, ... и т. Д. Являются дочерними узлами.
![enter image description here](https://i.stack.imgur.com/v50sA.jpg)
- Я нахожусь в процессе реализации рекурсивной BFS в Python для прохождения через узлы с использованием словаря 1
Вопрос: Во время обхода, как мне найти узел с минимальным значением? Я попытался создать другой словарь, похожий на словарь 1 (назовите его словарь 2), который содержит Node1Value в качестве ключа и Node2value в качестве значений.
Например: ключ 320 является значением Node1Value, а все 8708, 2738 ... и т. Д. Являются значением соединительных узлов.
![enter image description here](https://i.stack.imgur.com/VNmxl.jpg)
Но проблема в том, что словарь 2 не имеет того же индекса, что и словарь 1 (содержащий идентификатор узла).
Например, я планировал использовать словарь 1 для BFS, получить индекс для текущего узла и проверить его значение в словаре 2. Однако я обнаружил, что словарь не сохраняется с использованием индекса.