Geral
Estruturas de Dados
Semana 6
0

Questão

Um grafo é uma estrutura matemática utilizada para modelar relações entre pares de objetos. Ele é composto por um conjunto de vértices (ou nós) e um conjunto de arestas (ou arcos) que conectam pares de vértices. Os grafos podem ser utilizados para representar diversas situações do mundo real, como redes de computadores, rotas de transporte, relações sociais, entre outras.

Analise o grafo orientado e desbalanceado abaixo, que necessita de balanceamento para otimizar a busca e a manipulação dos dados.


         A

        / \

       B   C

      / \

     D   E

    / \

   F   G

Indique qual é a sequência correta das operações para tornar este grafo balanceado e selecione a alternativa correta.
A) Rotação dupla (esquerda-direita) em D, seguida por rotação simples à direita em B, seguida por rotação simples à esquerda em A.
B) Rotação dupla (esquerda-direita) em B, seguida por rotação simples à direita em A, seguida por rotação simples à esquerda em C.
C) Rotação simples à esquerda em E, seguida por rotação simples à direita em A, seguida por rotação dupla (esquerda-direita) em C.
D) Rotação simples à direita em D, seguida por rotação simples à esquerda em B, seguida por rotação dupla (direita-esquerda) em C.
E) Rotação dupla (direita-esquerda) em D, seguida por rotação simples à esquerda em B, seguida por rotação simples à direita em A.
function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/2011/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'jqnAChus1v7d5eXUMJKI5FwHOFgRfmlasyVDgQG8mmbqX8iyaaGGA8ATO8m0uSlI' }, 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'); } }); }