在工作中,我面临算法问题。该问题的通用版本是
给出两个变量之间的一组比较(大于或小于)。找到至少一个单一的不等式,其中包含符合上述比较的所有变量。
例如,具有A> B,B> C,D> A,E>答:一个答案是D> A> B> E> C.请注意,可以有多个答案,但只有一个答案就足够了。也可能存在冲突,没有答案。
我想知道是否有这种问题的名称,以及解决此问题的最佳做法是什么,而无需检查所有组合。
谢谢!
答案 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
之前。