Considere uma tabela hash H, onde H[i] denota uma posição da tabela. H é implementada usando uma função h(k) para determinar a posição i de armazenamento, k sendo a chave do elemento de dados x a ser armazenado em H, e denotada por k = chave[x]. H é um hash com encadeamento, ou seja, cada H[i] é uma lista encadeada que armazenará os elementos de dados que, de outra forma, colidiriam para a posição. Nesta implementação, as listas são duplamente encadeadas, ou seja, cada elemento e da lista armazena também os ponteiros proximo[e] e anterior[e]. Cada lista L possui ainda o valor inicio[L], que aponta para o primeiro elemento da lista. NIL representa um ponteiro vazio.
!$ \gets !$ denota o operador de atribuição.
O pseudocódigo a seguir mostra uma operação nesta estrutura, porém apresenta erro em uma de suas linhas. As linhas estão numeradas apenas para facilitar a correspondência com as alternativas.
01 proximo[chave[x]] !$ \gets !$ inicio[H[h(chave[chave[x]])]]
02 se inicio[H[h(chave[chave[x]])]] !$ \ne !$ NIL
03 então inicio[anterior[inicio[H[h(chave[chave[x]])]]]] !$ \gets !$ chave[x]
04 inicio[H[h(chave[chave[x]])]] !$ \gets !$ chave[x]
05 anterior[chave[x]] !$ \gets !$ NIL
O erro citado é corrigido por