Le temps constant est la complexité absolue la plus basse. On peut se demander: y a-t-il quelque chose de non trivial qui peut être calculé en temps constant? Si nous nous en tenons au modèle de la machine de Turing, alors peu de choses peuvent être faites, car la réponse ne peut dépendre que d'un segment initial de longueur constante de l'entrée, car des parties plus éloignées de l'entrée ne peuvent même pas être atteintes en temps constant.
D'un autre côté, si nous adoptons le modèle RAM à coût unitaire un peu plus puissant (et plus réaliste), dans lequel les opérations élémentaires sur les nombres bits sont comptées comme des étapes uniques, alors nous pourrons peut-être résoudre des problèmes non triviaux tâches, même en temps constant. Voici un exemple:
Instance: entiers , chacun donné au format binaire par O ( log n ) bits.
Question: Existe-t-il un graphe à sommets, tel que sa connectivité au sommet est k , sa connectivité aux bords est l et son degré minimum est d ?
Notez que d'après la définition, il n'est même pas évident que le problème est en NP . La raison en est que le témoin naturel (le graphe) peut avoir besoin d' une description longue de bits, tandis que l'entrée n'est donnée que par O ( log n ) bits. D'un autre côté, le théorème suivant (voir la théorie des graphes extrêmes de B. Bollobas) vient à la rescousse.
Théorème: Soit entiers. Il existe un graphe à n sommets avec connectivité au sommet k , connectivité aux bords l et degré minimum d , si et seulement si l'une des conditions suivantes est remplie:
- ,
Comme ces conditions peuvent être vérifiées en temps constant (dans le modèle RAM à coût unitaire), le théorème conduit à un algorithme à temps constant dans ce modèle.
Question: Quels sont quelques autres exemples non triviaux d'algorithmes à temps constant?