время выполнения кода в О-нотации - PullRequest
2 голосов
/ 27 апреля 2011

Я хочу знать, как я могу рассчитать время выполнения в O_notation в программах на C ++? Есть ли код для этого?

Я должен использовать этот код для отображения времени работы

clock_t start, end;
start = clock();
//CODES GOES HERE

end = clock();

std::cout << end - start << "\n";
std::cout << (double) (end-start) / CLOCKS_PER_SEC;

Но я хочу вычислить его в коде O_notation, чтобы реализовать его в 2 программах min-heap и алгоритме prim с массивом.

1 Ответ

2 голосов
/ 27 апреля 2011

Предполагая, что у вас есть четко определенные форматы для ввода и вывода, у вас есть разумный шанс запустить рассматриваемый код для различных размеров ввода и выполнить (например) полиномиальную кривую, соответствующую времени, которое требуется для различных размеров. .

Так, например, вы должны запустить код для 10, 100, 1000 и 10000 входов. Если время выполнения увеличивается примерно в 10 раз с каждым изменением, у вас появляется линейный алгоритм. Если каждый раз он становится примерно в 100 раз длиннее, значит, у вас квадратичный и т. Д.

...