Geral
Algoritmos e Programação de Computadores II
Semana 4
0

Questão

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,  que tem maior precedência do que o operador de adição, sendo, portanto, executado primeiro.

A)

Primeiro nível: 6 9 

Segundo nível: 3 7 

Terceiro nível: 8

Quarto nível: + * - 

B)

Primeiro nível: 6 9

Segundo nível: 8

Terceiro nível: 3 7 

Quarto nível: + * - 

C)

Primeiro nível: +

Segundo nível: * 8

Terceiro nível: + - 

Quarto nível: 6 9 3 7 

D)

Primeiro nível: 6 9 3 7

Segundo nível: 8 

Terceiro nível: * 

Quarto nível: + - 

E)

Primeiro nível: * 

Segundo nível: + 

Terceiro nível: 8 - 

Quarto nível: 6 9 3 7 

function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/828/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'nNVx9IlWrdy8pXDCuGIL99C1k2O408DkJZBELnAFyG1arwjbAcKmkyIF9tpR4azx' }, body: JSON.stringify({ value: value }) }) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById(`score-${questaoId}`).textContent = data.score; const upBtn = document.querySelector(`button[onclick="vote(${questaoId}, 1)"]`); const downBtn = document.querySelector(`button[onclick="vote(${questaoId}, -1)"]`); upBtn.classList.remove('active-up'); downBtn.classList.remove('active-down'); if (data.user_vote === 1) upBtn.classList.add('active-up'); if (data.user_vote === -1) downBtn.classList.add('active-down'); } }); }