Cómo probar si un algoritmo es el mejor en complejidad de tiempo de ejecución para un problema dado

Usted demuestra que hay un límite inferior para ese problema. ¿Qué quiero decir con esto? Demuestra que tener un algoritmo de este tipo en el peor de los casos / caso promedio (cualquier reclamo que esté haciendo) es imposible bajo suposiciones razonables. Está muy centrado en el problema, por lo que no puedo decirte cómo sin conocer el problema.

Un buen ejemplo de un resultado de límite inferior es el límite [math] \ Omega (n \ log {n}) [/ math] para la clasificación basada en la comparación, o que necesita [math] \ Omega (n) [/ math] tiempo para buscar una clave en una matriz (con cero supuestos sobre la matriz de entrada y cero precomputación permitida). Hay muchas maneras de probar estos resultados: contradicción, utilizando argumentos teóricos de la información, reducciones, etc.

Una vez que tiene el resultado del límite inferior, lo compara con la complejidad temporal de su algoritmo. Si coincide, entonces está bastante bien preparado para su reclamo.