Geral
Estruturas de Dados
Semana 5
0

Questão

Considere a implementação da classe BinarySearchTree em C++ e os métodos para imprimir o conteúdo de uma árvore binária de busca em pré-ordem (pre-order), in-ordem (in-order) e pós-ordem (post-order):



void preOrderPrint() const {

    preOrderPrint(root);

}


void preOrderPrint(TreeNode* node) const {

    if (node == nullptr) {

        return;

    }

    node->aluno.display();

    preOrderPrint(node->left);

    preOrderPrint(node->right);

}


void inOrderPrint() const {

    inOrderPrint(root);

}


void inOrderPrint(TreeNode* node) const {

    if (node == nullptr) {

        return;

    }

    inOrderPrint(node->left);

    node->aluno.display();

    inOrderPrint(node->right);

}


void postOrderPrint() const {

    postOrderPrint(root);

}


void postOrderPrint(TreeNode* node) const {

    if (node == nullptr) {

        return;

    }

    postOrderPrint(node->left);

    postOrderPrint(node->right);

    node->aluno.display();
}


I. O método preOrderPrint percorre a árvore binária de busca imprimindo primeiro o nó raiz, seguido pela subárvore esquerda e, por último, a subárvore direita. 

PORQUE

II. O método postOrderPrint realiza o percurso da árvore binária de busca imprimindo os nós na seguinte ordem: subárvore esquerda, subárvore direita e, finalmente, o nó raiz.
A) As asserções I e II são falsas.
B) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
C) As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
D) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
E) A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/1642/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'k1E7doWeDN3r8uG11Uyqr83VE6BFutgfloLeB2i4OIvatByztjhs7nJNJOOR5iMG' }, 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'); } }); }