Geral
Estruturas de Dados
Semana 5
0

Questão

Considere a implementação da classe BinarySearchTree em C++ e o método insert utilizado para incluir um novo aluno na árvore binária de busca:

void insert(const Aluno& aluno) {

    root = insert(root, aluno);

}


TreeNode* insert(TreeNode* node, const Aluno& aluno) {

    if (node == nullptr) {

        return new TreeNode(aluno);

    }

    if (aluno.getRA() < node->aluno.getRA()) {

        node->left = insert(node->left, aluno);

    } else if (aluno.getRA() > node->aluno.getRA()) {

        node->right = insert(node->right, aluno);

    }

    return node;
}

I. O método insert insere um novo aluno na árvore binária de busca comparando o RA do aluno a ser inserido com o RA dos nós existentes na árvore.

PORQUE,

II.se o RA do aluno a ser inserido é menor que o RA do nó atual, o método insere o aluno na subárvore direita; caso contrário, insere na subárvore esquerda.

A respeito dessas asserções, assinale a alternativa correta.
A) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
B) A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
C) As asserções I e II são falsas.
D) As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
E) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/1643/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': '32iUrqSrZ7drKI0flv0ye6o3RydGRXlu3JbWpiUP74qnGWwb7xX2vRjrkNIhn1On' }, 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'); } }); }