Trouver le premier numéro "manquant" dans une liste triée

Disons que j'ai la série continue de nombres entiers [0, 1, 2, 4, 6]dans lequel le 3 est le premier "manquant" le nombre. J'ai besoin d'un algorithme pour trouver ce premier "trou". Depuis, la gamme est très large (contenant peut-être 2^32 entrées), l'efficacité est importante. La gamme de nombre est stocké sur le disque; l'efficacité de l'espace est également une préoccupation principale.

Quel est le meilleur temps et de l'espace algorithme efficace?

source d'informationauteur zx_wing