排序部分排序列表的最佳方法是什么?
问题描述:
可能最好的例子是一个小例子。
鉴于关系排序部分排序列表的最佳方法是什么?
A < B < C
A < P < Q
正确的输出将
ABCPQ or APQBC or APBCQ ... etc.
换句话说,任何排序是有效的在给定的关系成立。
我对最容易实现的解决方案最感兴趣,但速度和时间上的最佳O(n)也很有趣。
答
做几种。首先按照第一条规则排序,然后按照第二条排序等。应该工作,除非你的规则包含矛盾。很容易实施。
答
您可以在C++中重复调用make_heap,pop_heap,并使用手头的序列。
你是否想要一种合并两个排序列表的方法? – Triptych 2009-01-26 17:39:25
不,一个最初随机排列的单子 – 2009-01-26 17:40:34