问题描述
我正在尝试解决#!/bin/bash
declare -a alldisks
alldisks=(/dev/disk[0-9]s*)
echo alldisks is "$alldisks"
echo The second item in alldisks is "${alldisks[1]}"
for disk in "${alldisks[@]}"
do
printf "Loop $disk\n"
done
的重复问题。
我知道使用主定理T(n) = 7T(n/7) + n
,但是我想通过替代来解决。
在第i级,我得到:O(nlog7n)
通过设置7^i T(n/7^i) + (n+7n+7^2n+ .... + 7^i n)
,以上内容变为:i = log7n
自 7^(log7n)*T(1) + (n + 7n + 7^2n ..... + 7^(log7n) n
起,以上内容最终变为7^log7n = n
这样就解决了n+ (n+7n+(7^2)n+ ....n*n)
对我来说不是O(n^2)
的问题,知道有什么问题吗?
解决方法
T(n)=7T(n/7)+n=7[7T(n/72)+n/7]+n=72T(n/72)+2n=...=7kT(n/7k)+kn n/7k=c ⇒ k=O(logn) ⇒T(n)=O(nlogn)