打包小窍门

来自计算思维百科
跳转至: 导航搜索
打包小窍门1.png

小男孩有一个带螺旋盖的空玻璃罐。老师给了他一盒网球要求他装满这个罐子。他倒进了一些网球,摇了摇,设法再盖上盖子之前多塞一个球进去。

老师问他:“瓶子满了吗?”

“是,满了”,他回答。

但老师给了他一盒弹珠,问他是否能在罐子里装入更多的东西。小男孩打开盖子,发现能在网球的缝隙里装入相当多的弹珠。摇一摇罐子,让弹珠能够掉到空隙中去。最后,他再也没法塞一个弹珠进去了,认为这个罐子现在满了。老师又拿出一袋沙,让男孩去装满罐子。他又一次拧开盖子,将沙倒入瓶子。这一次他不需要瞎摆弄,只需要非常小心地摇摇瓶子以确保沙子流入了网球和弹珠之间的所有角落和缝隙里。最后,他再也不能向罐子里灌入更多的沙子,就将盖子拧上。这时,瓶子的确满了!

事件解析

从这个故事中,我们可以吸取一些经验教训。如果老师最先给这个男孩的是沙,让他来填满了这个罐子,就没有任何剩余的空间留给后来的网球和弹珠。开始时,如果有空间,应先装大的。这个道理可以应用于人们熟知的打包难题。如果要搬很多行李到货车上,就要知道如何设置才可以将所有的行李都塞到车上。上述小故事表明,应当先放最大的物件,然后放第二大的,以此类推,最小的最后放。

另外,试图打包东西的形状也很关键。通常它们的尺寸相同。如果你是一个糖果或者其他的大型储藏集装箱才能尽可能多装一些。很长一段时间内,人们认为答案就是将它们制成小小的球体状,例如糖球。大量的小球体使得那些充满包装盒的紧挨着的小球之间的空间看似达到最小。有趣的是,事实证明这并不是最好的可用形状。如果糖果被制成小椭圆体,那么它们将会利用到更多的空间。

运用的计算思维

小男孩一开始觉得装了几个网球的玻璃罐再也装不下任何东西了,但是通过老师的启发,又用弹珠和沙将玻璃罐填得满满的。对于有限的空间,我们应该规划如何最大限度地发挥空间的利用率,体现了规划的计算思维。

参考文献

约翰·D. 巴罗著;申晓羽译.读心术的把戏=100 essential things you didn't know you didn't know:其实你不知道的100件事/—上海:上海科技教育出版社,2011