请求此或其解决方案算法的常用名称

时间:2012-04-20 07:57:08

标签: algorithm

这是问题以及我期待的结果。 我已经有了这样做的例行程序,我想研究其他解决方案,因此需要任何解决方案或问题本身的流行名称。

If name1 and name2 are aliases or equivalent and name3 and name2 are aliases then
name1, name2, and name3 are all aliases of each other.

>>> aliases = [('name1', 'name2'), ('name3', 'name2')]
>>> consolidate_aliases(aliases)
[('name2', 'name3', 'name1')]
>>> aliases = [('A', 'X'), ('B', 'Y'), ('C', 'Z'), ('S', 'L'), ('T', 'M'), ('U', 'N'), ('Y', 'T'),  ('B', 'L')]
>>> consolidate_aliases(aliases)
[('S', 'B', 'T', 'Y', 'M', 'L'), ('U', 'N'), ('C', 'Z'), ('A', 'X')]
>>>

3 个答案:

答案 0 :(得分:1)

它被称为transitive closure

答案 1 :(得分:0)

看起来像Union-Find algorithm

答案 2 :(得分:0)

它是“图形的连接组件”问题的变体。谷歌可以查看thisthis等答案。