Algorithm 上述算法的平均案例复杂度

Algorithm 上述算法的平均案例复杂度,algorithm,Algorithm,简单的线性搜索,找到最大最小算法 maxmin(a,n,max,min) { max=min=a[1]; for i=2 to n do { if a[i]>max then max:=a[i]; else if a[i]<min then min:=a[i]; } } maxmin(a,n,max,min) { max=min=a[1]; 对于i=2到n do { 如果a[i]>最大值,则 ma

简单的线性搜索,找到最大最小算法

maxmin(a,n,max,min)
{
   max=min=a[1];
   for i=2 to n do
   {
     if a[i]>max then
         max:=a[i]; 
     else if a[i]<min then 
         min:=a[i];
    }
}
maxmin(a,n,max,min)
{
max=min=a[1];
对于i=2到n do
{
如果a[i]>最大值,则
max:=a[i];

否则,如果一个[i]线性搜索是最坏的情况,O(n),最好的情况O(1)

这是O(n)。一个
if
语句和可能的赋值是O(1),所以它们不会影响big-O分类(尽管它们肯定会在一定程度上影响运行时)

另一种考虑问题的方法是,如果你加倍N,运行时间几乎完全是两倍。< /P> O(3N/2)- 1是O(n)- 1是O(n)。O是指按n阶的顺序执行的。n乘一个常数不改变缩放特性。从O(n)减去常数。也不会改变缩放特性(当N非常大时,-1将为infintesimal)。