Questões sobre o assunto

Questão 1
Em uma árvore binária de busca, também conhecida por árvore ordenada:
  • I. Ao buscar um elemento, é possível que este não esteja na árvore.
  • II. Ao comparar o elemento a ser buscado com a raiz, se este for maior, deve-se iniciar a busca na subárvore da esquerda.
  • III. Para saber se um elemento existe ou não na árvore, basta compará-lo com a raiz.
Selecione a alternativa correta.

Resposta correta: A) Apenas I.

Em uma árvore binária de busca, nem todo elemento buscado está necessariamente presente na árvore.

Questão 2
A lista em Python é uma estrutura genérica, ou seja, é uma generalização de pilhas e filas. Em palavras, podem ser implementadas pilhas e filas usando-se listas. Considerando as quatro maneiras básicas de se implementar uma lista, avalie as afirmações a seguir e relacione-as adequadamente aos termos ou conceitos às quais se referem.

1. Alocação estática. 2. Alocação dinâmica. 3. Alocação sequencial. 4. Alocação encadeada.

I. Diz respeito ao momento de alocação da memória. Toda memória é alocada de uma única vez, de antemão, quer no início, quer durante a execução do programa. II. Os elementos são inseridos contiguamente, um ao lado do outro, na memória principal. Assim sendo, tem-se acesso direto por meio dos índices; em outras palavras, é permitida a realização de um acesso aleatório a uma determinada posição da lista. III. A alocação da memória é feita sob demanda à medida que a lista cresce. IV. Os elementos são relacionados por meio de ponteiros, que indicam qual o próximo elemento, dado o elemento atual. O encadeamento pode ir crescendo aos poucos conforme vão sendo adicionados novos elementos.

Assinale a alternativa que correlaciona adequadamente os dois grupos de informação.

Resposta correta: E) 1-I; 2-III; 3-II; 4-IV.

Justificativa: Alocação estática envolve alocação única; alocação dinâmica envolve crescimento sob demanda; alocação sequencial usa blocos contíguos; alocação encadeada usa ponteiros.

Questão 3
Uma fila é uma estrutura de dados linear que armazena itens na forma FIFO (First In First Out), na qual o elemento adicionado menos recentemente é removido primeiro. Em Python, a implementação de filas pode utilizar algumas formas com o uso de estruturas de dados e módulos da biblioteca Python. Avalie as afirmações a seguir, em relação às formas para implementar uma fila em Python, e relacione-as adequadamente aos termos às quais se referem.

1. lista 2. coleções.deque 3. queue.Queue

I. Fila segue a regra FIFO e inicializa uma variável com um tamanho máximo de maxsize. II. Indicada em casos em que há necessidade de operações de inserção e remoção mais rápidas em ambos os lados da fila. III. Faz uso das funções append() e pop(), mas operações de inserção e remoção são mais lentas.

Resposta correta: E) 1-III; 2-II; 3-I.

Resumo: listas simples não são ideais para fila; deque oferece operações eficientes nos dois lados; queue.Queue fornece controle de maxsize e sincronização.

Questão 4
Considere o seguinte programa em Python:
class Pilha():
    def __init__(self):
        self.data = []

    def push(self, x):
        self.data.append(x)

    def pop(self):
        if len(self.data) > 0:
            return self.data.pop(-1)

    def empty(self):
        return len(self.data) > 0

p = Pilha()
q = Pilha()
for i in range(5):
    if i % 2 == 0:
        p.push(i)
    else:
        q.push(i)

while p.empty():
    q.push(p.pop())

while q.empty():
    print(q.pop())
O programa irá imprimir, nesta ordem:

Resposta correta: D) Os números 0, 2, 4, 3 e 1.

Justificativa: a lógica de pilhas com as condições do código resulta na sequência apresentada.

Questão 5
Uma árvore binária (T) é um conjunto finito de n nós que pode ser nula (quando T for um conjunto vazio e n=0) ou ter características como: a existência de um nó especial chamado raiz; nós restantes divididos em T1, T2 estruturas disjuntas em que T1 é a subárvore esquerda e T2 é a subárvore direita da raiz. Um exemplo de utilização de uma árvore binária é para o armazenamento de expressões aritméticas, facilitando sua avaliação.

Avalie as alternativas abaixo e indique a que representa o conteúdo de cada nível de uma árvore binária que armazena a expressão (6 + 9) * (3 - 7) + 8; considerando que: − a árvore será lida na ordem esquerda-raiz-direita; − os primeiros cálculos serão das operações entre parênteses; depois será executado o operador de multiplicação, esse operador tem maior precedência do que o operador de adição, sendo, portanto, executado primeiro.

Resposta correta: B) Primeiro nível: +; Segundo nível: * 8; Terceiro nível: + -; Quarto nível: 6 9 3 7.

Observação: a expressão é convertida de forma que a árvore reflita a precedência dos operadores.

Questão 6
Uma árvore apresenta uma estrutura hierárquica de vários elementos, ou seja, é composta por um conjunto de _____________ e serve, por exemplo, para organizar informações em sistemas de banco de dados, pois permite um tratamento computacional eficiente sendo mais fácil de manipular. Há um nó chamado _____________, que passa a ser identificado por r e que possui zero ou mais subárvores cujas raízes estão ligadas a r, e os nós-raízes dessas subárvores são chamados _____________ do nó _____________ r. O número de subárvores de cada nó é chamado de grau desse nó. As folhas de uma árvore não possuem filhos, sendo, portanto, nós com grau zero.

Resposta correta: B) nós, raiz, filhos, pai.

Explicação: a raiz é o nó principal, filhos são os descendentes diretos, pai é o nó acima, e o termo correto para os conectados é ‘nós’.

Questão 7
Uma pilha pode ser implementada usando uma lista em Python. Os métodos disponíveis do objeto List que podem ser usados para implementar as funções push() e pop() são, respectivamente:

Resposta correta: C) append(x) e pop(-1).

Justificativa: append adiciona ao topo, pop(-1) remove do topo da pilha implementada por lista.

Questão 8
Dada a seguinte definição, assinale a alternativa que melhor representa o conceito apresentado: “Retorna elementos em ordem inversa” também representado pela sigla LIFO (do inglês, last in, first out).

Resposta correta: D) Pilha.

Explicação: pilha implementa LIFO (last in, first out).

Pontuação Total
0.00