我正在寻找一种高效的连接分组算法(我不确定这是否是正确的名称…)或Python实现。
例如,我有以下嵌套列表:
connection_data = [
...: ["A", "B", "C"],
...: ["B", "D"],
...: ["A", "C"],
...: ["E", "F"],
...: ["C", "D"],
...: ]
这些数据表示嵌套列表中的每个列表都显示了连接。例如,第一个连接
["A", "B", "C"]
表示A
、B
和C
互相连接。嵌套列表包含多个连接信息。我想从嵌套列表计算连接分组。例如,当我有上面的
connection_data
时,我想要得到:grouped_connection = [
...: ["A", "B", "C", "D"],
...: ["E", "F"],
...: ]
因为在这些连接数据中,A
、B
、C
和D
有联系:["A", "B", "C"], ["B", "D"], ["A", "C"], ["C", "D"]
,E
和F
通过["E", "F"]
相互连接。
总结我的问题:
- 这种类型的问题通常叫什么名字?
- 我认为我可以实现基于多重循环的求解器。但是,有没有针对这种问题的有效算法或Python实现?