Magna Concursos

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

 

Provas

Questão presente nas seguintes provas

Analista de TI - Engenharia de Software

70 Questões

Analista de TI - Processos de Negócios

70 Questões