Вопрос на собес: Задача курьера

Постановка задачи Предположим, что вы работаете backend разработчиком и продуктовый менеджер приносит вам следующую задачу. У нас есть курьер, которому нужно развезти заказы по определённым адресам оптимальным способом. Оптимизируем мы какой-то показатель стоимости перемещения: например, расходы на бензин или время. Как будете реализовывать такую фичу?

Почему спрашиваю? Хочу понять, насколько кандидат может оценить применимость абстрактных алгоритмов к реальным задачам. Как реагирует на задачу, кажущуюся алгоритмически сложной.

Что ожидаю услышать? Отлично: это похоже на известную задачу коммивояжёра, которая NP-полная. И есть библиотеки, которые решают её достаточно хорошо. Но! В нашем случае скорее всего не так много адресов, поэтому можно решить полным перебором, а там N! вариантов маршрутов. Хорошо: это задача с графами, можно что-то придумать. Например, всегда ходить в ближайшую точку или поискать подходящий алгоритм Удовлетворительно: а в чём проблема? просто переберём все возможные маршруты Неуд: не знаю, как такое решать

#вопрос_на_собес
repost

301

input message

напишите коммент

· 05.02

Огонь формат поста

ответить

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь