条件排序

Avi*_*ash 2 sorting algorithm

给定以下类型的N个关系,
例如N = 4

A> B

A> C

B> C

d>甲

以这样的方式排列关系的元素:对于排列'x> y'中的每个连续'xy'

上面例子的输出是DABC

给定N <20

关系将以二维数组给出

感谢您的时间.

ami*_*mit 8

如果有这样的解决方案 - 建模到图表的问题实际上是DAG.

图是G=(V,E)哪里V= { A,B,C,D}E = { (x,y) | x < y } = { (B,A),(C,A),(C,B),(A,D) }.[当然,您可以根据输入将其扩展为更大的顶点集].

运行拓扑排序,并按顺序打印顶点.IFF拓扑排序失败 - 没有解决方案,因为图形具有循环 - 因此实体没有可行的排序[其他方式是相同的重新组合].