我正在寻找一种算法,它可以进行随机排序,但需要满足一些条件。
例如:
列表:
{1,2,3,4,5,6,7,8,9}条件:{(4 before 8), (6 before 1), (3 before 2)}所以在列表4的随机排序中,必须在8之前,等等.
我需要这个在Java (与ArrayList),但我找不到一个算法来做它!如果有人知道做这件事的算法,请写出算法的名称,或者,如果你有一个解决它的线索,一个小小的解释将是很好的。
发布于 2014-06-13 19:03:55
你真的想要一个topological sort。这些条件实际上是图中的边,数字是节点。拓扑排序将产生保留所有约束的顺序。
https://stackoverflow.com/questions/24212191
复制相似问题