通过购物清单访问超市,以最快的方式获取所有物品?
有一段时间,我的妻子送我到一个真正的超市,购物清单(她给我写了一张纸,或给我发短信)。
我想知道是否有快速的方法来填补名单,没有迭代整个超级几十次,直到我相信我已经拥有了一切。
(我发现这个问题在生活中非常有帮助:高效地搭配袜子,希望我可以在我自己的情况下使用社区的帮助)
我不知道/记住每件商品在超市中的位置,而我给出的列表从不分类(例如,蔬菜在列表中全部列出,而不是一个接一个地列出)。 另外,通常我会收到越来越多的物品的短信,而我仍然在超级。
我的方法是规划一条路径,以确保我遍历整个超市,并在走路时从列表中挑选物品。
我在考虑两种方式:
(n)
我通过的foreach项目:检查我的列表中是否有这样的项目(m) ,会给我一个O(n*m)
共谋,这并不那么高效。 (p)
:站在每一行的开头,我可以读取符号或查看我应该在哪找到哪些商品,而不是迭代我的列表,尝试记住列表中的所有商品那一排。 比走那一排,并将这些物品添加到我的购物车,应该给我O(p*m)
同谋。 但是这种情况从来没有真正发生过 :我记不清我的列表中有四个项目中有三个是我期望在该列中找到的,即使我这样做,我也经常忘记一个项目,并且必须再次使用该算法(让说q
次) ,这来到: O(q*p*m)
。 我想补充几点意见:
(v)
。 当然,我不记得所有的蔬菜,而不是停在市场上每种蔬菜旁边(或者我应该怎么做?),以检查我是否已列入清单。 在这里查看重新安排的时间,我最初的想法是花时间来映射通常的项目,这是没用的。 (他们经常重新安排过道)。
对于任何想法沿着这条路走 - 不会去工作......
链接地址: http://www.djcxy.com/p/12201.html上一篇: Visiting a supermarket with a shopping list, get all items in the fastest way?