从一系列变量比较中找到至少一个解决方案

时间:2017-10-22 18:03:48

标签: algorithm

在工作中,我面临算法问题。该问题的通用版本是

  

给出两个变量之间的一组比较(大于或小于)。找到至少一个单一的不等式,其中包含符合上述比较的所有变量。

例如,具有A> B,B> C,D> A,E>答:一个答案是D> A> B> E> C.请注意,可以有多个答案,但只有一个答案就足够了。也可能存在冲突,没有答案。

我想知道是否有这种问题的名称,以及解决此问题的最佳做法是什么,而无需检查所有组合。

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,一个好问题。您是否在Topological sort中听说过 Graph theory

认为是这样的。 x > y表示x to y有一个有针对性的边缘(如x ---> y)。所以,基本上你有一个连接顶点A B C D and E的有向边网络。应用topological sort来获得答案。

拓扑排序基本上意味着在排序后获得的顶点列表中,如果存在从x到y的有向边,x将始终显示在y之前。