Дом развитие Что такое сложность времени? - определение из техопедии

Что такое сложность времени? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает сложность времени?

Временная сложность - это понятие в компьютерной науке, которое имеет дело с количественной оценкой количества времени, затрачиваемого набором кода или алгоритма на обработку или выполнение, как функция количества ввода.

Другими словами, сложность времени - это, по сути, эффективность или время, необходимое программной функции для обработки заданного ввода.

Техопедия объясняет сложность времени

Сложность времени - это просто мера времени, которое требуется функции или выражению для выполнения своей задачи, а также имя процесса для измерения этого времени. Он может применяться практически к любому алгоритму или функции, но более полезен для рекурсивных функций. Нет смысла измерять сложность времени для таких приложений, как выбор имени пользователя и пароля из базы данных для сравнения или просто сохранение данных, будь то 20 мс или 5 мс; это было бы больше в линии времени доступа. Это не имеет никакого отношения к заботе о времени выполнения, а скорее к тому, что разница незначительна. Однако, если существует рекурсивная функция, которая может вызываться несколько раз, определение и понимание источника ее временной сложности может помочь сократить общее время обработки, скажем, с 600 мс до 100 мс.

Временная сложность обычно выражается в «большой O нотации», но есть и другие нотации. Это математическое представление верхнего предела коэффициента масштабирования для алгоритма, записываемое как O (Nn), где «N» - количество входов, а «n» - количество циклических выражений. Например, у нас есть алгоритм:

numbers = {5, 6, 10, 11, 2}; foreach (number as number1)



{


foreach(number as number2) {

statements; } } numbers = {5, 6, 10, 11, 2}; foreach (number as number1)



{


foreach(number as number2) {

statements; } }

numbers = {5, 6, 10, 11, 2}; foreach (number as number1)



{



foreach(number as number2) {

statements; } } numbers = {5, 6, 10, 11, 2}; foreach (number as number1)



{


foreach(number as number2) {

statements; } }

numbers = {5, 6, 10, 11, 2}; foreach (number as number1)



{


foreach(number as number2) {


statements; } }

В массиве «numbers» есть пять входов, и цикл «foreach» повторяется дважды. Следовательно, экспоненциальный рост времени обработки происходит по мере увеличения числа входов и числа циклов.

Что такое сложность времени? - определение из техопедии