【发布时间】:2017-04-20 00:05:31
【问题描述】:
使用 NetworkX,我获得了描述图中边(顶点对)的元组列表:
G = [(1, 2), (1, 3), (1, 4), (2, 4), (3, 8), (4, 5), (8, 15), (5, 6), (5, 7), (6, 17), (7, 11), (7, 15), (7, 16), (17, 12), (11, 12), (11, 13), (15, 9), (15, 10), (16, 9), (9, 18), (18, 13), (18, 14), (10, 14)]
使用这个列表,我想遍历每个顶点,并找到每个相邻的顶点,但我想按顺序执行此操作。所以我想得到的是一个嵌套列表,其中包含ith 子列表,其中包含顶点i 的每个邻居。
Neighbors = [[2, 3, 4], [1, 4], [1, 8], [1, 2, 5], [4, 6, 7], [5, 17], [5, 11, 15, 16], [3, 15], [15, 16, 18], [14, 15], [7, 12, 13], [11, 17], [11, 18], [10, 18], [7, 8, 9, 10], [7, 9], [6, 12], [9, 13, 14]]
,但它也可以是另一种排序的数据结构。
但是,由于我的图可能包含一百万条边和顶点,我想实现一个例程,它不会循环遍历每个顶点的整个列表,因为我想保持运行时间较低。
有什么方法可以做到这一点吗?非常感谢任何帮助。
【问题讨论】:
-
不遍历整个列表你知道有多少个顶点吗?
标签: python loops graph networkx metis