Algorithm 顺序搜索的时间复杂度
Algorithm 顺序搜索的时间复杂度,algorithm,recursion,time-complexity,Algorithm,Recursion,Time Complexity,我试图找到选择排序的时间复杂度,它具有以下等式T(n)=T(n-1)+O(n) 首先我假设它是T(n)=T(n-1)+n。。不过n更容易…. 图T(n-1)=T(n-2)+(n-1) 和T(n-2)=T(n-3)+(n-2) 这使得T(n)=(T(n-3)+(n-2))+(n-1)+n因此其T(n)=T(n-3)+3n-3 K而不是(3)T(n)=T(n-k)+kn-k因为n-k>=0..=>n-k=0和n=k返回等式itsT(n)=T(0)//这是C+n*n-n这使得它成为C+n^2-n。。所
我试图找到选择排序的时间复杂度,它具有以下等式
T(n)=T(n-1)+O(n)
首先我假设它是T(n)=T(n-1)+n。。不过n更容易….
图
T(n-1)=T(n-2)+(n-1)
和T(n-2)=T(n-3)+(n-2)
这使得
T(n)=(T(n-3)+(n-2))+(n-1)+n
因此其T(n)=T(n-3)+3n-3
K而不是(3)<代码>T(n)=T(n-k)+kn-k因为n-k>=0..=>
n-k=0
和n=k
返回等式its
T(n)=T(0)//这是C+n*n-n
这使得它成为
C+n^2-n
。。所以它是O(n^2)。。是我做的ryt 是的,您的解决方案是正确的。你把O(n)和O(n-1),O(n-2)结合起来。。。然后得出O(n^2)。您可以应用O(n)+O(n-1)=O(n)
,但只能有限地应用。在一个系列中,它是不同的
T(n) = (0 to n)Σ O(n - i)
忽略O()中的i,结果是O(n^2)
您给出的递归关系
T(n)=T(n-1)+O(n)
适用于选择排序,其总体时间复杂度为O(n^2)。选中此项以验证是,您的解决方案是正确的。你把O(n)和O(n-1),O(n-2)结合起来。。。然后得出O(n^2)。您可以应用O(n)+O(n-1)=O(n)
,但只能有限地应用。在一个系列中,它是不同的
T(n) = (0 to n)Σ O(n - i)
忽略O()中的i,结果是O(n^2)
您给出的递归关系T(n)=T(n-1)+O(n)
适用于选择排序,其总体时间复杂度为O(n^2)。检查此项以进行验证
在迭代i中,我们找到最小剩余项的索引min。
然后交换a[i]和a[min]
因此,选择排序使用
(n-1)+(n-2)+..+2+1+0=(n-1)*(n-2)/2=O(n*n)比较
和n次交换(交换)。
从上面看
根据上面给出的递推关系
=> T(n) = T(n-1)+ O(n)
=> T(n) = T(n-1)+ cn, where c is some positive constant
=> T(n) = cn + T(n-2) + c(n-1)
=> T(n) = cn + c(n-1) +T(n-3)+ c(n-2)
这样下去,我们终于
=> T(n) = cn + c(n-1) + c(n-2) + ...... c (total no of n terms)
=> T(n) = c(n*(n-1)/2)
=> T(n) = O(n*n)
编辑
最好将θ(n)替换为cn,其中c是常数。有助于更轻松地可视化方程式
在迭代i中,我们找到最小剩余项的索引min。
然后交换a[i]和a[min]
因此,选择排序使用
(n-1)+(n-2)+..+2+1+0=(n-1)*(n-2)/2=O(n*n)比较
和n次交换(交换)。
从上面看
根据上面给出的递推关系
=> T(n) = T(n-1)+ O(n)
=> T(n) = T(n-1)+ cn, where c is some positive constant
=> T(n) = cn + T(n-2) + c(n-1)
=> T(n) = cn + c(n-1) +T(n-3)+ c(n-2)
这样下去,我们终于
=> T(n) = cn + c(n-1) + c(n-2) + ...... c (total no of n terms)
=> T(n) = c(n*(n-1)/2)
=> T(n) = O(n*n)
编辑
最好将θ(n)替换为cn,其中c是常数。有助于更轻松地可视化方程式。不太好。它不是
T(n-k)+kn-k
,而是T(n-k)+kn-sum{1到k-1}j
。不知道为什么??它总是得到K而不是和:sT(n-K)+(n-(K-1))+(n-(K-2))+…+(n-1)+n不完全正确。它不是T(n-k)+kn-k
,而是T(n-k)+kn-sum{1到k-1}j
。不知道为什么??它总是得到K而不是和:sT(n-K)+(n-(K-1))+(n-(K-2))+…+(n-1)+n