标签: algorithm
我有一套物品。每个项目都有一个ID和一个PREVIOUS_ID字段。如何有效地对它们进行排序并检测任何周期(错误情况)?
要使其复杂化,我需要按单个序列对它们进行排序,但多个项目可能具有相同的PREVIOUS_ID。
答案 0 :(得分:1)
随机选择一个,然后按照之前的ID路径,直到没有上一个项目。此时,如果没有剩下的项目,则再次开始,选择一个先前未选择的项目开始。
始终维护一组已访问的项目,以便您可以检测周期。