algorithm – 对部分有序列表进行排序的最佳方法是什么?

可能最好用一个小例子来说明.
鉴于这种关系

A < B < C
A < P < Q 

正确的产出将是

ABCPQ or APQBC or APBCQ ... etc.

换句话说,任何排序都是有效的,其中给定的关系成立.

我最感兴趣的是最容易实现的解决方案,但速度和时间的最佳O(n)也很有趣.

最佳答案
这叫做topological sorting.

标准算法是输出一个最小元素,然后将其删除并重复直到完成.

转载注明原文:algorithm – 对部分有序列表进行排序的最佳方法是什么? - 代码日志