LINUX.ORG.RU

Расчет сложности алгоритма?


0

0

static const char test_str[] = "1234567890";

int test(char *str, size_t size)
{
int result = 0;

for (int i = 0; i < sizeof(test_str) && i < size; i++)
if (str[i] == test_str[i])
result++;

return result;
}

Какую имеет сложность алгоритм описываемый функцией? Тоесть для size < sizeof(test_str) равен O(n) для size >= sizeof(test_str) равен O(1)? А для всех size как расчитать сложность?


test_str — константа.

Устремляем размер входной строки, str, к бесконечности. Очевидно, с ростом размеров строки, или size, количество вычисений жёстко ограничено рамерами test_str.

Сложность алгоритма равна O(1) независимо от величины size.

anarquista ★★★★★
()
Ответ на: комментарий от anarquista

> Сложность алгоритма равна O(1) независимо от величины size.

Спасибо.

Devix
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.