Сортировка гаек и болтов
Здравствуйте.
Есть три задачи, которые подразумевают одну большую:
- Реализовать алгоритм быстрой сортировки (сделал).
- Реализовать рандомизированный алгоритм быстрой сортировки (сделал).
- С помощью метода быстрой сортировки решить следующую задачу.
"Гайки и болты":
Неорганизованный плотник имеет смешанный набор N гаек и N болтов. Цель состоит в том, чтобы найти соответствующие пары гаек и болтов. Каждая гайка соответствует точно одному болту, и каждый болт соответствует точно одной гайке. Соединяя гайку и болт между собой, плотник может узнать из них больше (однако он не может сравнивать непосредственно две гайки или два болта).
Разработайте алгоритм для этой задачи, который использует в среднем N log(N) сравнений.
Первые две я сделал, но с пониманием третей задачи у меня проблемы:
- Изначально методу должен передаваться один массив, или два?
- Метод должен сортировать или искать в двух массивах одинаковые значения (пары гайка-болт)?
Еще я был бы очень благодарен, если бы мне разжевали эту задачу, насколько это воможно.
Спасибо.
Источник: Stack Overflow на русском