给出以下类型的N个关系
例如N = 4
A> B
A&以及c
B&以及c
d>一种
以这样的方式排列关系的元素:对于排列'x> y'中的每个连续'xy'
上例的输出为DABC
给定N <20
关系将以二维数组给出
感谢您的时间。
答案 0 :(得分:8)
如果有这样的解决方案 - 建模到图表的问题实际上是DAG。
图表为G=(V,E)
,其中V= { A,B,C,D}
和E = { (x,y) | x < y } = { (B,A),(C,A),(C,B),(A,D) }
。 [当然,您可以根据输入将其扩展为更大的顶点集。)
运行topological sort,然后按顺序打印顶点。 IFF拓扑排序失败 - 没有解决方案,因为图表有循环 - 所以实体没有可行的排序[反过来是相同的重新开发]。