SóProvas


ID
114184
Banca
CESPE / CEBRASPE
Órgão
TRE-MT
Ano
2010
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considerando as definições de estruturas de dados e a declaração tipo nó :: reg (dado: inteiro; próximo: ref nó), na qual reg é um registro contendo os campos: dado, que guarda valores inteiros, e próximo, que guarda endereço de outro nó, assinale a opção correta.

Alternativas
Comentários
  • a) O tipo nó é inadequado para implementar estruturas de dados do tipo pilha.ERRADO. O Tipo Nó pode ser usado sim para implementar uma pilha. Lembrando que uma pilha pode ser implementada como um array ou como uma lista encadeada.b) As listas, pilhas, filas e árvores são estruturas de dados que têm como principal característica a sequencialidade dos seus elementos.ERRADO. As árvores claramente não são sequenciais.c) Uma lista duplamente encadeada é uma lista em que o seu último elemento referencia o primeiro.ERRADO. Isso é uma lista circular. A duplamente encadeada é uma lista que possui nós que referenciam/apontam para o nó anterior e o próximo.d) O algoritmo para inclusão de elementos em uma pilha é usado sem nenhuma alteração para incluir elementos em uma lista.CORRETO. A pilha pode ser implementada como uma lista. Logo o algorítmo de push é o mesmo.e) O uso de recursividade é totalmente inadequado na implementação de operações para manipular elementos de uma estrutura de dados do tipo árvore.ERRADO. Uma das formas de implementar tais algorítmos é por recursão. Apesar de consumir mais recursos do que a forma não recursiva, isso não a qualifica como inadequada.
  • descordo do gabarito, pois no caso de listas ordenadas não poderia ser usado o algorítmo de pilha para inclusão de elementos.
  • Estou na duvida entre as letras A e D.


    a) O tipo nó é inadequado para implementar estruturas de dados do tipo pilha.
    Possível. Mas será que é adequado?

    1. Imaginando uma pilha que utiliza a última posição de uma lista para armazenar o "topo".
    Nesse caso teríamos que correr toda a lista para adiocionar e remover o elemento. Em uma lista muito longa não parece muito adequado.
    Inadequado.

    2. Usando a primeira posição da lista para implementar o "topo" da pilha.
    A implementação fica direta e rápida.
    Adequada.
    Por causa disso a letra A é falsa.



    d) O algoritmo para inclusão de elementos em uma pilha é usado sem nenhuma alteração para incluir elementos em uma lista.
    Essa está estranha, não consegui explicar ainda.
    A lista permite a inserção de objetos em qualquer posição e não apenas nos extremos (pilha).
    Como poderíamos usar o algorítmo de inclusão da pilha para incluir um objeto em uma posição no meio de uma fila????

    Alguêm tem uma justificativa melhor para a letra D?





  • A alternativa menos errada é a letra D.

  • Imagino que a D está CORRETA, por conta do algotitmo FIFO(First in First out) usado para o fluxo da pilha e da lista.