7

可能最好的例子是一个小例子。
鉴于关系排序部分排序列表的最佳方法是什么?

A < B < C 
A < P < Q 

正确的输出将

ABCPQ or APQBC or APBCQ ... etc. 

换句话说,任何排序是有效的在给定的关系成立。

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

+0

你是否想要一种合并两个排序列表的方法? – Triptych 2009-01-26 17:39:25

+0

不,一个最初随机排列的单子 – 2009-01-26 17:40:34

回答

1

做几种。首先按照第一条规则排序,然后按照第二条排序等。应该工作,除非你的规则包含矛盾。很容易实施。

1

您可以在C++中重复调用make_heap,pop_heap,并使用手头的序列。

相关问题