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):


void preOrderPrint() const {

    preOrderPrint(root);

}


void preOrderPrint(TreeNode* node) const {

    if (node == nullptr) {

        return;

    }

    node->aluno.display();

    preOrderPrint(node->left);

    preOrderPrint(node->right);




A partir do código apresentado, analise as seguintes afirmações e determine qual conjunto de instruções sintetiza corretamente o comportamento dos métodos preOrderPrint.
A) Os métodos preOrderPrint percorrem a árvore binária de busca visitando primeiro a subárvore direita, depois o nó raiz e, finalmente, a subárvore esquerda, imprimindo os dados de cada nó na ordem em que são visitados.
B) Os métodos preOrderPrint percorrem a árvore binária de busca visitando primeiro o nó raiz, depois a subárvore esquerda e, finalmente, a subárvore direita, imprimindo os dados de cada nó na ordem em que são visitados.
C) Os métodos preOrderPrint percorrem a árvore binária de busca utilizando um algoritmo de busca em largura (breadth-first search), imprimindo os dados de cada nó na ordem em que são visitados.
D) Os métodos preOrderPrint percorrem a árvore binária de busca visitando primeiro a subárvore esquerda, depois o nó raiz e, finalmente, a subárvore direita, imprimindo os dados de cada nó na ordem em que são visitados.
E) Os métodos preOrderPrint percorrem a árvore binária de busca utilizando um algoritmo de busca em profundidade (depth-first search), visitando primeiro os nós folha e, finalmente, o nó raiz, imprimindo os dados de cada nó na ordem em que são visitados.
function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/1641/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'UETclOzfo8oQaMfFCdQ5hCaQjTQklLhyLa5DJiUJua9rgnBupldcjMkwU9Nls6nB' }, 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'); } }); }