关于判断递归的时间复杂度总结
若每次递归使问题的规模减半,而其他操作都是常数时间
T(N)=T(N/2)+O(1)
, 则T(N)=O(logN)
若每次递归使用问题的规模减1,而其他操作是常数时间
T(N)=T(N-1)+O(1)
,则T(N)=O(N)
若每次递归使问题的规模减半,而其他操作是线性时间
T(N) = T(N/2)+O(N)
,则T(N)=O(NlogN)
若每次递归使问题的规模减半,而其他操作都是常数时间
T(N)=T(N/2)+O(1)
, 则T(N)=O(logN)
若每次递归使用问题的规模减1,而其他操作是常数时间
T(N)=T(N-1)+O(1)
,则T(N)=O(N)
若每次递归使问题的规模减半,而其他操作是线性时间
T(N) = T(N/2)+O(N)
,则T(N)=O(NlogN)