Cómo encontrar la complejidad temporal de un algoritmo.

La pregunta

¿Cómo encontrar la complejidad temporal de un algoritmo?

¿Qué he hecho antes de publicar una pregunta en SO?

He pasado poresta, esta y muchos otros enlaces

Pero no donde pude encontrar una explicación clara y directa sobre cómo calcular la complejidad del tiempo.

Que sé yo ?

Diga por un código tan simple como el siguiente:

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

Di por un bucle como el de abajo:

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

int i = 0; Esto será ejecutado solamenteuna vez. El tiempo se calcula realmente parai=0 Y no la declaración.

i <N; Esto sera ejecutadoN + 1 veces

i ++; Esto sera ejecutadoN veces

Así que el número de operaciones requeridas por este bucle son

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

Nota: Esto todavía puede estar mal, ya que no confío en mi comprensión sobre el cálculo de la complejidad del tiempo

Qué quiero saber ?

Ok, entonces estos pequeños cálculos básicos, creo que lo sé, pero en la mayoría de los casos he visto la complejidad del tiempo como

O (N), O (n2), O (log n), O (n!).... Y muchosotro,

¿Puede alguien ayudarme a entender cómo se calcula la complejidad de tiempo de un algoritmo? Estoy seguro de que hay muchos novatos como yo que quieren saber esto.

Respuestas a la pregunta(9)

Su respuesta a la pregunta