【发布时间】:2017-12-01 20:23:22
【问题描述】:
l1= [(1, 4), (1, 5), (2, 4), (3, 5)]
l2= [(3, 5), (1, 4), (2, 3), (3, 4), (2, 5), (4, 5)]
我有两个边缘列表,我想比较两个列表中的边缘并形成 [1,1,0,0,0,0] 形式的向量。这是通过将 l1 的边缘与l2,如果在 l2 中存在边,则为 1,否则为 0。要确保的是,如果边列表中的边在 l1 中的形式为 (1,4) 并且 (4,1) 在 l2 中存在,那么也它应该将其视为已找到。
edit-在真实数据集中向量大小在100,000范围内
【问题讨论】:
-
您是否考虑过首先将您的图表示为邻接列表而不是边列表(即,作为列表/集合的列表,其中第 i 个包含顶点 i 的所有邻居)?这样可以有效地执行您需要的检查。