使用Python,如何以节省内存的方式将加权边列表转换为对称邻接矩阵?
例如,考虑以下包含4个节点和3个边的加权边列表:
A B 1
A C 2
C D 3
则输出邻接矩阵如下:
0 1 2 0
1 0 0 0
2 0 0 3
0 0 3 0
我希望以一种节省内存的方式来做到这一点-- 100000 x 100000邻接矩阵(10**10值)。请注意,矩阵是对称的,并且所有对角线的值都是0。
我刚开始使用Spring Data Jpa,但我知道人们通常会在Java中创建一个“Model”/“Entity”类来表示数据库表中的一行数据。当我有一个具有3列/类属性的小型表时,这对我来说是有意义的,但是对于具有100列的表又如何呢?很难创建一个有100个属性的“Model”类?我这样问的原因是因为我在MySQL数据库表中存储了一个大型的火车站邻接矩阵。我想在我的Java Spring应用程序中与这些数据进行交互,但不知道如何做到这一点。 在这种情况下,我可能没有正确地存储数据,或者根本不应该使用Spring data JPA,我对此持开放态度。如果您有任何建议,我们将不胜感激! 谢谢。
我在Python中找不到2-opt算法的任何完整实现,所以我尝试将缺失的部分添加到找到的代码中,我将在下面介绍。
def two_opt(route):
best = route
improved = True
while improved:
improved = False
for i in range(1, len(route)-2):
for j in range(i+1, len(route)):
if j-i == 1: continue # c
如何使用python中的图形工具从邻接矩阵中创建一个图形?假设我们有adj矩阵作为邻接矩阵。
我现在所做的就是这样:
g = graph_tool.Graph(directed = False)
g.add_vertex(len(adj))
edge_weights = g.new_edge_property('double')
for i in range(adj.shape[0]):
for j in range(adj.shape[1]):
if i &
对于这个程序,我得到了一组需要存储在邻接矩阵中的输入。我已经这样做了,所以我有一个邻接矩阵Matrix11。现在,使用这个矩阵,我需要执行深度优先搜索并返回pi值。
我有这方面的伪代码,所以我认为我需要两个方法: DFS(graph)和DFS- and (Node)。然而,我在实际实现时遇到了问题。我可以直接使用邻接矩阵来做这件事吗?或者我需要以某种方式使用该矩阵来创建一个图?任何帮助实际编码的人都将不胜感激。
DFS(G)
for each u ∈ V[G] do
color[u] = WHITE
∏[u] = NIL
time = 0