Оптимальный алгоритм переставления коробок, естественно.
Бабл сорт будет одну и ту же коробку много раз двигать. В частности, если коробка уже на своем месте стоит, то двигать не нужно.
Оптимальный алгоритм переставления коробок, естественно.
Тогда нужно уточнение - наличие доп пространства куда коробки временно выносить, если сортировать, скажем, quick sort - выбираем pivot, сортируем, разделяем надвое, в каждой половине выбираем свой pivot и тд
Ожидается, что кандидат начнет задавать уточняющие вопросы и в итоге выйдет на EEPROM!
Тут есть один маленький гиморрой: за один цикл коробки могут не переставиться.M. Ridcully wrote: ↑10 Jul 2019 22:21 Прежде чем искать "оптимальное" решение нужно выяснить модель (ну или cost function, которую минимизуруем), по которой эта самая оптимальность считается. Одна возможная модель - минимизируется суммарное расстояние, на которое переносятся коробки. Тогда решением будет то, что предложила Lisa выше - сначала для каждой коробки определяется её правильное конечное место. Затем берётся любая (ближайшая?) коробка, сразу переносится на своё место. При этом берётся коробка, которая занимает это место и переносится на своё правильное место. Ну и т.д. Довольно очевидно, что для этой модели решение оптимальное - каждая коробка переноситмя кратчайшим путём на своё место.
А подробней, как расставлять? O(n) это понятно, только понадобится два прохода в худшем случае.