可能最好用一个小例子来说明. 鉴于这种关系
A < B < C A < P < Q
正确的产出将是
ABCPQ or APQBC or APBCQ ... etc.
换句话说,任何排序都是有效的,其中给定的关系成立.
我最感兴趣的是最容易实现的解决方案,但速度和时间方面的最佳O(n)也很有趣.
这称为拓扑排序.
标准算法是输出一个最小元素,然后将其删除并重复直到完成.