我有一套50个项目和许多条件,具体说明哪个元素应该先于其他元素。
如何创建有序列表?
在C#中会喜欢它,但可以从其他语言翻译它。
答案 0 :(得分:5)
答案 1 :(得分:2)
将“许多条件”翻译成比较函数,然后将其与基于比较的排序结合使用(在一般情况下)。
在最好的情况下,最好的基于比较的排序算法是O(nlogn)。合并排序是一种这样的算法,并且很容易实现......还有很多其他算法。
如果您的条件构成部分排序(而不是总排序),拓扑排序可能是最合适的。
答案 2 :(得分:-2)
您可以查看许多排序算法。我头脑中浮现的两个是泡泡排序和快速排序。