如何将离散节点 ID 更改为连续节点 ID?

我有一个图表,其中节点的 id 是离散的。有什么办法可以让这些id连续同时保持原始节点之间的关系?例如,我有一个包含 6 个节点和 3 个边的图:1->2, 6->9, 8->7 如何使节点 id 连续,以便我可以有一个边为:1->2 , 3->6, 5->4 其中“3”指的是“6”,“4”指的是“7”等。


喵喔喔
浏览 116回答 1
1回答

qq_遁去的一_1

假设你有一个list边 ( tuples),你可以使用defaultdict连续 id的技巧:from collections import defaultdictedges = [(1, 2), (6, 9), (8, 7), (6, 7), (9, 1)]d = defaultdict(lambda: len(d) + 1)id_edges = [(d[x], d[y]) for x, y in edges]# [(1, 2), (3, 4), (5, 6), (3, 6), (4, 1)]或开始于0:d = defaultdict(lambda: len(d))id_edges = [(d[x], d[y]) for x, y in edges][(0, 1), (2, 3), (4, 5), (2, 5), (3, 0)]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java