最好用一个小例子来说明。
给定关系
A < B < C
A < P < Q
正确的输出应该是
ABCPQ or APQBC or APBCQ ... etc.
换句话说,只要给定的关系成立,任何排序都是有效的。
我对最容易实现的解决方案最感兴趣,但速度和时间方面的最佳 O(n) 也很有趣。
最佳答案
这叫做 topological sorting .
标准算法是输出一个最小元素,然后移除它并重复直到完成。
关于algorithm - 对部分排序列表进行排序的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480640/