El orden de crecimiento para una pieza de código que resuelve un problema particular generalmente se expresa como un polinomio, que representa el número de operaciones ‘primitivas’ que se deben realizar expresadas en función del tamaño de entrada.
Lo primero es lo que constituye una operación `primitiva`. La mayoría del análisis de código se realiza en un modelo de máquina de acceso aleatorio, en el que se incluyen todas las operaciones aritméticas, de comparación, de asignación y lógicas.
Considere esta paz de código para calcular el factorial de un número:
- ¿Cuál es el algoritmo de clasificación más rápido para una matriz de números grandes (hasta 1,000,000,000,000)?
- ¿Qué es el conocimiento estructurado?
- ¿La lista vinculada es una estructura de datos estática o una estructura de datos dinámica?
- ¿Qué es la inserción táctica?
- ¿Cuáles son algunos métodos de diagnóstico utilizados en un algoritmo de agrupamiento?
función factorial (n):
hecho = 1 // 1 operación primitiva, cada costo c1
para i en rango (0 a n-1): // n operaciones primitivas, cada costo c2
hecho = hecho * i // mul y asignación 2 * n operaciones, cada c3
hecho de retorno // 1 operación primitiva, costo c4
Ahora, si sumas el costo de todas las operaciones primitivas, obtienes
C = c1 + n * c2 + 2 * c3 * n + c4
= (c1 + c4) + n * (c2 + c3)
= C1 + n * C2
C = [matemáticas] \ theta (n) [/ matemáticas]
Después de contar todas las constantes de las operaciones, ignoramos los términos de orden inferior y las constantes y lo expresamos como una de las funciones de límites.