gpt4 book ai didi

c - 此代码的大 O 符号

转载 作者:太空宇宙 更新时间:2023-11-04 05:46:54 25 4
gpt4 key购买 nike

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");
}

这段代码的大 O 符号是什么?我猜是 N*(2^(logN))

我已经分配了我的硬件!这只是我的好奇心!

最佳答案

ara 是二进制搜索的递归实现。即 O(log n)。

它被调用了 2n-1 次。将这两项相乘,整个程序的复杂度为 O(n log n)。

关于c - 此代码的大 O 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2060880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com