Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 具有势解的丢番图方程解的复杂性_Algorithm_Time Complexity - Fatal编程技术网

Algorithm 具有势解的丢番图方程解的复杂性

Algorithm 具有势解的丢番图方程解的复杂性,algorithm,time-complexity,Algorithm,Time Complexity,假设我有一个等式,如下所示 13x+5y=M,其中每次给出M 显然,这是一个丢番图方程,根据具体情况,可能需要很长时间才能求解。然而,一份阅读材料告诉我,如果我们在二元搜索树中存储了一组大小为k的X和Y的唯一整数“可能解”(意味着X和Y的正确值包含在其中的某个地方),我们可以在O(k)时间内计算方程的解对(X,Y) 现在,我被这个逻辑所束缚,因为我不知道在这个数据结构中存储元素如何帮助我们,或者如何防止我们必须为X或Y插入k个元素,为另一个变量求解,并检查数据结构是否包含该变量。我能想到的唯一一

假设我有一个等式,如下所示

13x+5y=M,其中每次给出M

显然,这是一个丢番图方程,根据具体情况,可能需要很长时间才能求解。然而,一份阅读材料告诉我,如果我们在二元搜索树中存储了一组大小为k的X和Y的唯一整数“可能解”(意味着X和Y的正确值包含在其中的某个地方),我们可以在O(k)时间内计算方程的解对(X,Y)

现在,我被这个逻辑所束缚,因为我不知道在这个数据结构中存储元素如何帮助我们,或者如何防止我们必须为X或Y插入k个元素,为另一个变量求解,并检查数据结构是否包含该变量。我能想到的唯一一件事就是在树上保持两个指针,但这似乎不可行。 有人能解释一下这个逻辑背后的原因吗?

解决问题(你似乎在想这个问题)很简单,只需要扩展的欧几里德算法。另一方面,的成功解决意味着没有能够解决任意丢番图方程的算法


线性和任意之间存在着巨大的差距。也许你可以把你的问题集中在你感兴趣的方程类型上。

我知道希尔伯特的第十个问题,但在这个问题上,它似乎表明,给定一组可能的解,就有可能在线性时间内为X和Y选择正确的值。让我感到困惑的是二叉搜索树,因为我不太明白它的用途。我不太清楚他们在说什么。扩展欧几里德算法在比线性时间更好的时间内给出一个解(或告诉您不存在解),在这个阶段,您有一个所有解的单参数族,公式可以在
O(1)
时间内计算。也许他们谈论的是满足一些边约束,这些边约束将从无限多个解中选出一个可能的解。你在“正确的价值观”中使用单数“the”似乎暗示了阅读。“a reading”--什么阅读?