У дома развитие Какво е сложност във времето? - определение от техопедия

Какво е сложност във времето? - определение от техопедия

Съдържание:

Anonim

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

Времевата сложност е концепция в компютърните науки, която се занимава с количественото определяне на времето, отделено от набор от код или алгоритъм за обработка или изпълнение като функция от количеството на входа.

С други думи, сложността във времето е по същество ефективност или колко време отнема функция на програмата, за да обработи даден вход.

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

Времевата сложност е просто мярка за времето, необходимо за дадена функция или израз да изпълни задачата си, както и името на процеса за измерване на това време. Може да се приложи към почти всеки алгоритъм или функция, но е по-полезен за рекурсивни функции. Има малко смисъл в измерването на сложността на времето за приложения като извличане на потребителско име и парола от база данни за сравнение или просто запазване на данни, независимо дали е 20 ms или 5 ms; това би било повече в линията на времето за достъп. Това няма нищо общо с грижата за времето за изпълнение, а по-скоро разликата е незначителна. Ако обаче има рекурсивна функция, която може да бъде извикана многократно, определянето и разбирането на източника на нейната времева сложност може да помогне да се съкрати общото време за обработка от, да речем, 600 ms до 100 ms.

Времевата сложност се изразява обикновено в "голямата 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; } }

В масива "числа" има пет входа и цикълът "foreach" се повтаря два пъти. Следователно, експоненциалният растеж на времето за обработка настъпва с нарастването на броя на входовете и броя на бримките.

Какво е сложност във времето? - определение от техопедия