餐厅餐桌分配的数据结构和算法?

时间:2011-11-04 14:19:15

标签: algorithm data-structures

在我过去的一次采访中,我被要求描述你如何使用桌椅为餐厅建模,以及如何在客人到达时分配给客人以及之前预订。

例如,当一组20人进来时,你必须将这些表加入一个表中,以便将它们组成一个组。

当我尝试使用简单的面向对象设计术语进行建模时,他阻止了我并询问您是否会使用任何特定的数据结构或算法来解决此问题。

我不知道有什么?有人可以给我一个指针吗?

1 个答案:

答案 0 :(得分:1)

我无法想到任何特定的算法,我的意思是,看到你的想法可能只是一个问题,而不是一个特别适合的解决方案的问题。

在任何情况下,在我看来,表的物理分布至关重要:您只能连接彼此接近的表。通常情况下,您不能将坐着的人移到另一张桌子上,也不能将餐桌上的桌子拖得很远。这需要一个数据结构来模拟表的物理分布,即具有连接节点的网络。这可能很复杂,包括例如桌子之间的距离,用走廊划分网络等等。

要查找一个空闲表,或者获取或释放一个空闲表,因为典型的表数很小,您可以按顺序迭代。更多的是学术练习,你可能想要考虑更容易解决问题的东西,但没有足够的要求来做出决定。