【发布时间】:2018-02-23 01:07:51
【问题描述】:
我目前正在我的 Robert Sedgewick 和 Kevin Wayne 的著作 Algorithhms 4th Edition 中做一个谜题,这个谜题是关于经典的 Egg Dropping 问题。
这本书的内容不多,我很难理解这里的逻辑是如何工作的。但是,书中的三个问题有点像这样:
假设我们有一个有 N 层的故事建筑,并假设如果您从 F(F ≤ N) 或更高楼层掉下鸡蛋会破裂,但如果您从任何楼层掉下鸡蛋都不会破裂低于这个。我们知道 N 的值,现在我们要算出 F 的值。
a.) 假设我们有很多鸡蛋可以尝试。想出一个策略,通过压碎 ∼ lg N 个鸡蛋来计算 F。
b.) 仅使用∼ 2 lg F 鸡蛋来改进策略。
c.) 现在我们假设我们只有一个鸡蛋。想出一个策略,通过丢鸡蛋~F次来计算F的值。
现在我的假设 - 对于 a.) 的答案 - 如果我在哪里有 100 个楼层(因为它更容易计数)使用二分搜索?!还是我完全错了?
b.) 答案我不太明白。
并且 c.) 将是 F = F dropps,因为我们只有一个鸡蛋,它会在“Fth”层被压碎。如果我们从 0 层开始放下鸡蛋的楼层高度没有打破鸡蛋,那么我们尝试 1 层,如果鸡蛋在那里没有打破,我们尝试 2 层,依此类推on... 这将是一个线性搜索。
你们中的任何人以前都遇到过这种类型的问题吗?您对此有何看法? (这是我学习算法和数据结构的第一个学期,所以我是这 110% 的新手)。
谢谢!
【问题讨论】:
-
我认为 b 中有一个错字:经典问题给你 2 个鸡蛋。此外,在每种情况下,您都应该尽量减少滴数。
-
见youtube.com/watch?v=sLbke8FE2F4 21:33开题,35:27解题
标签: algorithm search binary egg