我想单独存储图中所有节点的邻接表,该怎么做? 就像有7个顶点一样,我想要7个列表,其中包含从ecah和每个节点发出的弧。
答案 0 :(得分:0)
是否必须是列表?为什么不使用numpy创建邻接矩阵。
如果要使用列表,首先应该知道python中的二维列表中没有没有这种东西。您可以得到的最接近的结果是,将7个列表放在另一个这样的列表中:
list1 = [1, 0, 0, 0, 1, 0, 0] # represents the edges connecting node 1 to the rest
list2 = [0, 1, 0, 1, 0, 0, 1] # same thing for node 2
list3 = [0, 0, 1, 0, 1, 1, 0] # node 3
# and so on until we have 1 list for each node
adjacency_list = [list1, list2, list3, list4, list5, list6, list7] # each element is a list
# To see if there is an edge between node 2 and node 3:
print(adjacency_list[2][3]) # 3rd element of the 2nd list
# in this case it will return 0
如果图形没有方向,则可以互换使用内部列表和外部列表的索引。