订购集合的算法

时间:2011-07-21 15:15:30

标签: algorithm

我有一套50个项目和许多条件,具体说明哪个元素应该先于其他元素。

如何创建有序列表?

在C#中会喜欢它,但可以从其他语言翻译它。

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:2)

将“许多条件”翻译成比较函数,然后将其与基于比较的排序结合使用(在一般情况下)。

在最好的情况下,最好的基于比较的排序算法是O(nlogn)。合并排序是一种这样的算法,并且很容易实现......还有很多其他算法。

如果您的条件构成部分排序(而不是总排序),拓扑排序可能是最合适的。

答案 2 :(得分:-2)

您可以查看许多排序算法。我头脑中浮现的两个是泡泡排序和快速排序。