Этот вопрос является вариацией предыдущего вопроса: Алгоритм ранжирования на основе сравнения
Вариант, который я хотел бы сформулировать, таков: что если петли решаются путем отбрасывания самых ранних противоречивых вариантовчтобы на самом деле можно было использовать транзитивный алгоритм.
Здесь я вставил оригинальный вопрос:
"Я хотел бы ранжировать или отсортировать коллекцию элементов (размер которых потенциально может превышать 100 000)где каждый элемент в коллекции не имеет внутреннего (сопоставимого) значения, вместо этого все, что у меня есть, - это сравнение любых двух элементов, которые были предоставлены пользователями «субъективным» образом.
Пример:
Рассмотрим коллекцию с элементами [a, b, c, d] и сравнениями пользователей:
b> a, a> d, d> c
Правильный порядокиз этой коллекции будет [b, a, d, c].
Этот пример прост, однако могут быть более сложные случаи:
Поскольку сравнения субъективны, использованиеМожно также сказать, что с> б.В этом случае это может привести к конфликту с порядком выше.Также вы можете не иметь сравнений, которые «связывают» все элементы, например:
b> a, d> c.В этом случае порядок неоднозначен.Это может быть: [b, a, d, c] или [d, c, b, a].В этом случае любой порядок является приемлемым.
...
Вопрос:
Существует ли уже существующий алгоритм, который может решить вышеуказанную проблему, я бы не сталнравится тратить усилия, пытаясь придумать, если это так.Если конкретного алгоритма не существует, возможно, есть какие-то алгоритмы или методы, на которые вы можете указать мне? "