[]
Algoritma karmaşıklığı sorusu
merhaba arkadaşlar
kabuk sıralama ile ilgili bir ödevim var.kaynaklardan da bakıorum algoritma karmaşıklığını hesaplamayı bir türlü öğrenemedim.sonuç belli.en kötü durumda O(nlog2n) bellek O(1).ama bunu nasıl hesaplıcam?kısa mıdır?sıralama hesabında hangi notasyon kullanılır?
kod bu:
void shell_sort (int *a, int n)
{
int h, i, j, k;
for (h = n; h /= 2;) {
for (i = h; i < n; i++) {
k = a[i];
for (j = i; j >= h && k < a[j - h]; j -= h) {
a[j] = a[j - h];
}
a[j] = k;
}
}
}
kabuk sıralama ile ilgili bir ödevim var.kaynaklardan da bakıorum algoritma karmaşıklığını hesaplamayı bir türlü öğrenemedim.sonuç belli.en kötü durumda O(nlog2n) bellek O(1).ama bunu nasıl hesaplıcam?kısa mıdır?sıralama hesabında hangi notasyon kullanılır?
kod bu:
void shell_sort (int *a, int n)
{
int h, i, j, k;
for (h = n; h /= 2;) {
for (i = h; i < n; i++) {
k = a[i];
for (j = i; j >= h && k < a[j - h]; j -= h) {
a[j] = a[j - h];
}
a[j] = k;
}
}
}
// Store the starting time
double duration;
clock_t startTime = clock();
// Code block
// …
//Compute the number of milliseconds that passed since the starting time
duration = 1000 * double( clock() - startTime ) / CLOCKS_PER_SEC;
cout << "Execution took " << duration << " milliseconds." << endl;
double duration;
clock_t startTime = clock();
// Code block
// …
//Compute the number of milliseconds that passed since the starting time
duration = 1000 * double( clock() - startTime ) / CLOCKS_PER_SEC;
cout << "Execution took " << duration << " milliseconds." << endl;
- jedilance (03.12.12 23:10:06)
1