Jak znaleźć złożoność czasową algorytmu

Pytanie

Jak znaleźć złożoność czasową algorytmu?

Co zrobiłem przed wysłaniem pytania na temat SO?

Przeszłamto, to i wiele innych linków

Ale nie, gdzie udało mi się znaleźć jasne i proste wyjaśnienie, jak obliczyć złożoność czasu.

Co ja wiem ?

Powiedz kod tak prosty, jak poniższy:

char h = 'y'; // This will be executed 1 time
int abc = 0; // This will be executed 1 time

Powiedz o pętli takiej jak poniżej:

for (int i = 0; i < N; i++) {        
    Console.Write('Hello World !');
}

int i = 0; Zostanie to wykonane tylkopewnego razu. Czas jest rzeczywiście obliczonyi=0 a nie deklaracja.

i <N; Zostanie to wykonaneN + 1 czasy

i ++; Zostanie to wykonaneN czasy

Tak więc liczba operacji wymaganych przez tę pętlę

{1+ (N + 1) + N} = 2N + 2

Uwaga: To wciąż może być błędne, ponieważ nie jestem pewien, czy rozumiem złożoność czasu

Co chcę wiedzieć ?

Ok, więc myślę, że te małe podstawowe obliczenia wiem, ale w większości przypadków widziałem złożoność czasu

O (N), O (n2), O (log n), O (n!).... i wieleinny,

Czy ktoś może mi pomóc zrozumieć, jak obliczyć złożoność czasową algorytmu? Jestem pewien, że jest wielu początkujących, takich jak ja, którzy chcą to wiedzieć.

questionAnswers(9)

yourAnswerToTheQuestion