Resposta correta: A) Apenas I.
Em uma árvore binária de busca, nem todo elemento buscado está necessariamente presente na árvore.
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.
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.
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.
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.
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’.
Resposta correta: C) append(x) e pop(-1).
Justificativa: append adiciona ao topo, pop(-1) remove do topo da pilha implementada por lista.
Resposta correta: D) Pilha.
Explicação: pilha implementa LIFO (last in, first out).