【发布时间】:2016-04-22 13:38:22
【问题描述】:
当元素之间的关系可能相互矛盾时,我正在寻找一种算法来执行某种扩展数组排序。
所以我们有一个由 n 个项目组成的 I(项目)i1...in
I
中的项目之间定义了一组R(关系),由m个关系组成这些关系可以相互矛盾,例如,一个关系说A>B,另一个说A<B。
例如
r1:i1<i35
r2:i100<i4
...
rm:i45>i3
通常,r 和 m(集合的大小)可以是任何正整数。
任务是对我进行排序,以便项目以最好较低的项目(基于关系)排在较高的项目之前的方式排列......
我正在寻找一种算法来对集合进行排序,使其尽可能接近“最佳”顺序。我想一定有一个众所周知的算法来解决这样的问题。
谢谢!
【问题讨论】:
-
如果 I 是 {A,B,C} 而 R 是 {A B, C A} 这里的最优解是什么?跨度>
标签: arrays algorithm sorting set