Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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_Recursion_Time Complexity - Fatal编程技术网

Algorithm 一个递归算法的时间复杂度,它在每次运行中主要分为两部分

Algorithm 一个递归算法的时间复杂度,它在每次运行中主要分为两部分,algorithm,recursion,time-complexity,Algorithm,Recursion,Time Complexity,动态规划|集33(查找一个字符串是否与其他两个字符串交错) 我在这个网站上发现了一个问题,它说“递归解决方案最糟糕的时间复杂度是O(2^n)。”。因此,我试图画一个关于这个问题最坏情况的树形图。我假设当a和b的长度和值相同时,会导致最坏的情况。它将分成两部分,直到a/b的长度为0(使用子字符串) 在这种情况下,它有13个节点,这确实是最坏的情况,但如何逐步计算它呢?如果c的长度增加2,它将得到49个节点。如果它增加到一个大的数字,就很难画出一个树形图 有人能详细解释一下吗 运行时间的重复周期为

动态规划|集33(查找一个字符串是否与其他两个字符串交错)

我在这个网站上发现了一个问题,它说“递归解决方案最糟糕的时间复杂度是O(2^n)。”。因此,我试图画一个关于这个问题最坏情况的树形图。我假设当a和b的长度和值相同时,会导致最坏的情况。它将分成两部分,直到a/b的长度为0(使用子字符串)

在这种情况下,它有13个节点,这确实是最坏的情况,但如何逐步计算它呢?如果c的长度增加2,它将得到49个节点。如果它增加到一个大的数字,就很难画出一个树形图


有人能详细解释一下吗

运行时间的重复周期为

T(n) = 2T(n-1)
如果你画递归树,你会看到你有一个二叉树,它的
height=n


由于它是一个二叉树,它将有
2^n
叶子,因此最坏的情况是
O(2^n)

合并排序:我猜这个算法使用的是相同的思想(分裂成两部分,直到剩下一个元素)。它只是没有把他们分组。我会说在最坏的情况下复杂性是O(n logn)
T(n) = 2T(n-1)