Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.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
C 此代码的大O符号 intara(intdizi[],intilk,intson,intdeger){ int indeks; 如果(同类>子类) 返回0; 指数=(同类+子)/2; if(dizi[indeks]deger) 返回ara(dizi、ilk、indeks-1、deger); 其他的 返回1; } 因为(i=1;i_C_Big O - Fatal编程技术网

C 此代码的大O符号 intara(intdizi[],intilk,intson,intdeger){ int indeks; 如果(同类>子类) 返回0; 指数=(同类+子)/2; if(dizi[indeks]deger) 返回ara(dizi、ilk、indeks-1、deger); 其他的 返回1; } 因为(i=1;i

C 此代码的大O符号 intara(intdizi[],intilk,intson,intdeger){ int indeks; 如果(同类>子类) 返回0; 指数=(同类+子)/2; if(dizi[indeks]deger) 返回ara(dizi、ilk、indeks-1、deger); 其他的 返回1; } 因为(i=1;i,c,big-o,C,Big O,在我看来是线性的。但是你的格式很糟糕,所以很难说 编辑:好的,涉及递归。那么不是线性的。如果我们有有有意义的变量名,这会更容易。在我看来是线性的。但是你的格式很糟糕,所以很难说 编辑:好的,涉及递归。那么不是线性的。如果我们有有有意义的变量名,那就更容易了。ara是二进制搜索的递归实现。也就是O(logn) 它被称为2n-1次。将这两个项相乘,整个程序就是O(n logn)。ara是二进制搜索的递归实现。也就是O(logn) 它被称为2n-1次。将这两个项相乘,程序作为一个整体是O(n logn

在我看来是线性的。但是你的格式很糟糕,所以很难说


编辑:好的,涉及递归。那么不是线性的。如果我们有有有意义的变量名,这会更容易。

在我看来是线性的。但是你的格式很糟糕,所以很难说


编辑:好的,涉及递归。那么不是线性的。如果我们有有有意义的变量名,那就更容易了。

ara
是二进制搜索的递归实现。也就是O(logn)


它被称为2n-1次。将这两个项相乘,整个程序就是O(n logn)。

ara
是二进制搜索的递归实现。也就是O(logn)


它被称为2n-1次。将这两个项相乘,程序作为一个整体是O(n logn)。

您可以进一步简化您的答案(我不确定它是否正确)。假设log是基数2,2^(logn)=n,那么您的答案将是O(n^2)。您的猜测是错误的。-)为什么这不是一个真正的问题?这里有一个问题,ephemient给出了一个明确的答案(不是发问者认为的答案)。当然这是一个真正的问题,只是一个简单的问题。@Mike:O(2^logn)=O(n)在任何基础上。你可以进一步简化你的答案(我不确定它是否正确)。假设log是基数2,2^(logn)=N,那么您的答案将是O(N^2)。您的猜测是错误的。:-)为什么这不是一个真正的问题?这里有一个问题,ephemient给出了一个明确的答案(不是发问者所想的答案)。当然这是一个真正的问题,只是一个简单的问题。@Mike:O(2^logn)=O(n)在任何基础上。你以秒数击败了我!你比我快了几秒钟!仅仅因为你不会说土耳其语,变量名就没有意义:-)谢谢paxdiablo!变量是您知道的变量(x,y,z,bla.bla.)。我是新来的,我不能将int main()方法作为代码插入文本区域。所以我省略了。仅仅因为你不会说土耳其语,变量名就没有意义:-)谢谢paxdiablo!变量是您知道的变量(x,y,z,bla.bla.)。我是新来的,我不能将int main()方法作为代码插入文本区域。所以我省略了。
int ara(int dizi[], int ilk, int son, int deger) { 
      int indeks;    
      if ( ilk > son ) 
        return 0; 

      indeks = (ilk + son) / 2; 
      if ( dizi[indeks] < deger ) 
        return ara(dizi, indeks+1, son, deger); 
       else if ( dizi[indeks] > deger ) 
        return ara(dizi, ilk, indeks-1, deger); 
       else  
       return 1; 
} 

for (i=1; i<2*n; i++)   { 
    printf("Bir sayi giriniz: "); 
    scanf("%d", &sayi); 
    sonuc = ara(matrix, 0, n-1, sayi); 
    if ( sonuc == 1 ) 
      printf("Found!\n"); 
     else 
      printf("Not Found!\n");  
}