【问题标题】:program that simulates queuing and service by requests at a fast food restaurant模拟快餐店请求排队和服务的程序
【发布时间】:2019-08-08 05:51:42
【问题描述】:
我被要求在不使用任何数据结构库的情况下编写程序。
输入是:
系统中主服务器的数量。
系统中辅助服务器的数量。
- 一组服务请求,每个请求包含一个到达时间和两个服务时间。
- 该集合以到达时间和服务时间都为 0 的虚拟记录终止。(注意:到达时间按升序排序)。
我对 java 很陌生,所以我想得到建议,什么是最好的方法或资源,这将帮助我更好地理解这个概念。
我知道我们确实需要创建 2 个队列,一个用于主服务器和辅助服务器在等待服务时存储数据。
我可能必须创建计数器来增加和减少时间。希望我的思考过程是正确的。
但我不确定我们如何创建多个队列以及我将为服务器使用什么数据结构。
【问题讨论】:
标签:
java
data-structures
queue
【解决方案1】:
解决这个问题的方法是绘制一张真实世界情况的图表。顾客进来排队。有 X 个服务器,每个服务器一次可以处理一个客户。还要对辅助服务器的角色进行建模,无论它是什么。
然后开始处理交易:服务器接洽客户,将订单传递到辅助服务器队列并等待。从辅助服务器获取响应,与客户完成等。描述客户、服务器和辅助服务器之间交换信息的每个地方。
如果您这样做,您就会非常了解您要解决的问题以及现实世界的解决方案。然后你只需要在代码中建模。你最好的办法是首先用伪代码编写一个基本的大纲,描述你将要使用的数据结构和算法。一旦你有了它,你就可以通过(再次)使用铅笔和纸来模拟它的操作。
当你确信你的算法是正确的,然后你坐下来写代码。编写代码几乎是对伪代码的直接翻译。