Questão de Lógica de Programação

Você deve implementar duas pilhas em um único array A[1...n] de modo que nenhuma das pilhas transborde, a menos que o número total de elementos nas duas pilhas juntas seja n.
Considerando que as operações PUSH e POP sejam executadas em tempo O(1), assinale a opção cuja estratégia descrita permite essa implementação de forma eficiente.

A
Usando-se dois ponteiros, um começando no início do array para a primeira pilha e um começando no final do array A para a segunda pilha, movendo-se em direção um ao outro à medida que os elementos são inseridos.
B
Usando-se um ponteiro no início do array para ambas as pilhas, inserindo elementos na primeira pilha e removendo da segunda pilha sempre que necessário.
C
Dividindo-se o array em duas partes iguais e atribuindo a primeira pilha à metade esquerda e a segunda pilha à metade direita. Os elementos entre as duas metades devem ser movidos conforme necessário.
D
Usando-se um array circular com ambas as pilhas crescendo em direções opostas e garantindo-se que os elementos sejam sempre inseridos na pilha com mais espaço disponível.
E
Implementando-se a primeira pilha utilizando a metade esquerda do array e a segunda pilha usando a metade direita, mas os tamanhos das pilhas podem mudar dinamicamente.

Ainda não há comentários para esta questão.

Seja o primeiro a comentar!

Aulas em vídeo Em breve

00:00

Tópicos Relacionados