El tiempo constante es la complejidad absoluta al final del tiempo. Uno puede preguntarse: ¿hay algo no trivial que se pueda calcular en tiempo constante? Si nos atenemos al modelo de máquina de Turing, entonces no se puede hacer mucho, ya que la respuesta solo puede depender de un segmento inicial de longitud constante de la entrada, ya que las partes más lejanas de la entrada ni siquiera se pueden alcanzar en tiempo constante.
Por otro lado, si adoptamos el modelo de RAM de costo unitario algo más poderoso (y más realista), en el que las operaciones elementales en números -bit se cuentan como pasos individuales, entonces podremos resolver problemas no triviales tareas, incluso en tiempo constante. Aquí hay un ejemplo:
Instancia: enteros , cada uno dado en formato binario por bits.
Pregunta: ¿Existe un gráfico de -vértices, de modo que su conectividad de vértice sea , su conectividad de borde sea y su grado mínimo sea ?
Tenga en cuenta que, desde la definición, ni siquiera es obvio que el problema está en NP . La razón es que el testigo natural (el gráfico) puede necesitar una descripción larga de bits, mientras que la entrada es dada solo por O ( log n bits. Por otro lado, el siguiente teorema (verTeoría del gráfico extremode B. Bollobas) viene al rescate.
Teorema: Sean enteros. Existe un gráfico de n -vértices con conectividad de vértice k , conectividad de borde l y grado mínimo d , si y solo si se cumple una de las siguientes condiciones:
- ,
Dado que estas condiciones se pueden verificar en tiempo constante (en el modelo de RAM de costo unitario), el Teorema conduce a un algoritmo de tiempo constante en este modelo.
Pregunta: ¿Cuáles son algunos otros ejemplos no triviales de algoritmos de tiempo constante?