如何在Python中将匹配对聚合为“连接的组件”

如何在Python中将匹配对聚合为“连接的组件”,第1张

如何在Python中将配对聚合为“连接的组件”

使用networkX:

import networkx as nxG1=nx.Graph()G1.add_edges_from([("a","b"),("b","c"),("c","d"),("d","e"),("f","g")])sorted(nx.connected_components(G1), key = len, reverse=True)

给予:

[['a', 'd', 'e', 'b', 'c'], ['f', 'g']]

您现在必须检查最快的算法…

OP:

很棒!我现在在我的PostgreSQL数据库中。只需将对组织到一个两列的表中,然后用于

array_agg()
传递给PL /
Python函数
get_connected()
。谢谢。

CREATE OR REPLACe FUNCTION get_connected(    lhs text[],    rhs text[])  RETURNS SETOF text[] AS$BODY$    pairs = zip(lhs, rhs)    import networkx as nx    G=nx.Graph()    G.add_edges_from(pairs)    return sorted(nx.connected_components(G), key = len, reverse=True)$BODY$ LANGUAGE plpythonu;

(注意:我编辑了答案,因为我认为显示此步骤可能对附录有帮助,但评论太久了。)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5601919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存