二进制搜索猜测实数

时间:2014-01-02 01:06:12

标签: algorithm search binary-search

考虑到一个相当常见的问题 - 我在考虑一个整数,你可以在O(log n)时间内猜出它,因为我将以“高”,“低”或“就是那个”来回答你的猜测。 - 我遇到了一个让我感到难过的轻微变化的问题:

  

我在考虑1和N之间的正实数。猜猜我的   在O(日志日志N)时间内,数字在小数点后一位。

我尝试通过尝试猜测10N而不是N来解决这个问题,但这仍然不会给我一个O(日志日志N)运行时。任何和所有观点都是受欢迎的。

谢谢

2 个答案:

答案 0 :(得分:1)

假设“在一个小数位内”表示一个有效数字,则在1和n之间存在O(log(n))个可能的猜测。 1,2,3,...,10,20,30,...,100,200,300,......通过这些可能性的二分搜索将在O中产生正确的答案(log(log(n))为了便于编码,可以将其作为数量级的二进制搜索,然后对第一个数字进行二进制搜索。但是,理论上信息不可能使用O(log(log(log(log) n)))猜测确定O(log(n))可能性中的一种。

示例:我想的是1到10000之间的数字。

是100吗?更高。 是1000吗?降低。 现在我们知道了数量级。

是500吗?更高。 是700吗?更高。 是800吗?更高。 这是900。

答案 1 :(得分:0)

名义比例变量(也称为分类变量)是其中没有特定变量的变量。 各种可能性之间的关系:对于这类变量, 说其中一个比其他任何一个“更大”或“更好”,这绝对没有任何意义 平均。典型的例子是“眼睛颜色”。眼睛可以是蓝色,绿色和棕色, 其他可能性,但没有任何一个比其他任何“更好”。结果,感觉真的 谈论“平均眼色”很奇怪。同样,性别也是名义上的:男性并没有好坏之分 比女性,谈论“平均性别”也没有意义。简而言之,名义规模 变量是那些您只能说出不同可能性的变量,它们是 不同。就是这样。