0

我有一套物品。每个项目都有一个 ID 和一个 PREVIOUS_ID 字段。如何有效地对它们进行排序并检测任何循环(错误情况)?

更复杂的是,我需要按单个序列对它们进行排序,但多个项目可能具有相同的 PREVIOUS_ID。

4

1 回答 1

1

随机选择一个,按照之前的ID路径,直到没有之前的项目。此时,如果没有剩余项目,则重新开始,选择以前未选择的项目开始。

始终维护一组已访问的项目,以便您可以检测周期。

于 2012-09-14T13:48:33.823 回答