Я столкнулся с некоторой проблемой, когда использую JSON для реализации списка смежности.Во-первых, я не могу использовать «целочисленное значение» в качестве идентификатора в паре «идентификатор: значение».поэтому я переосмыслил свою проблему и подошел по-другому, и я реализовал список смежности, как показано ниже (в виде списка списка).
Текущее решение
Представлениекаждый узел графа по своим декартовым координатам действительно является представлением низкого уровня.На уровне алгоритма нам нужно связать одно уникальное число с каждой вершиной;например, вы можете отобразить:
- вершина 0 ---> (100, 200)
- вершина 1 ---> (45, 78)
- вершина 2 ---> (198, 213)
Я составил список для всех вершин: например: nodes = [[100,200],[45,78],[198,213]]
, в котором nodes[1]
дает координаты для вершины 1.
И список смежности имеет форму списка списка.
adj_list = [[1,2,3], [0, 4, 5] ]
adj_list[1]
дает вам список узлов, смежных с node1.и т. д.
Это означает: рядом с вершиной 0 (непосредственно связано с ней) у вас есть вершины 1, 2, 3.
рядом с вершиной 1 у вас есть вершины 0, 4, 5 ...
Я нашел это решение более подходящим для моей проблемы.Спасибо Дейву и Иржи за их ответ.