структура данных и алгоритм размещения таблиц в ресторане? - PullRequest
0 голосов
/ 04 ноября 2011

В одном из моих прошлых интервью меня попросили описать, как вы моделируете ресторан со столами и стульями и как вы распределяете гостей по мере их прибытия, а также о ранее сделанном бронировании.

Например, когда приходит группа из 20 человек, вы должны объединить столы в один, чтобы сделать их группой.

когда я пытался моделировать, используя простые термины объектно-ориентированного проектирования, он остановил меня и спросил, есть ли какие-то конкретные структуры данных или алгоритмы, которые вы бы использовали для решения этой проблемы.

Я ничего не знаю? Может ли кто-нибудь дать мне указатель?

1 Ответ

1 голос
/ 17 ноября 2011

Я не могу думать ни о каком конкретном алгоритме, и под этим я подразумеваю, что, возможно, это просто проблема, чтобы увидеть, как вы думаете, а не проблема, которая будет иметь особенно хорошо подходящее решение.

В любом случаемне кажется, что физическое распределение таблиц имеет решающее значение: вы можете объединять только те таблицы, которые расположены близко друг к другу.Как правило, вы не можете переместить сидящих людей за другой стол или перетаскивать столы по всему ресторану.Это требует структур данных, которые моделируют физическое распределение таблиц, то есть сеть со связанными узлами.Это может усложнить все, что вы захотите, включая, например, расстояние между столами, разделение сети на коридоры и т. Д.

Чтобы найти свободный стол, или взять или освободить свободный стол, как типичное числоТаблицы будут небольшими, вы можете просто итерировать последовательно.Будучи скорее академическим упражнением, вы, вероятно, захотите придумать что-то более подходящее для этой проблемы, но для принятия решения по этому вопросу недостаточно требований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...