Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Complexidade de Algoritmos — CESGRANRIO 2018

Algoritmos e Estrutura de DadosComplexidade de Algoritmos
Código
cg011424
Banca
CESGRANRIO
Órgão
Banco da Amazônia
Ano
2018
Nível
Superior
Cargo
Técnico Científico - Tecnologia da Informação
Em uma árvore AVL com grande quantidade de nós, o custo para inclusão de um nó no meio da árvore é proporcional a
  1. Alog(n)
  2. Bn
  3. Cn log(n)
  4. D
  5. En² log(n)
Revelar gabarito e comentário

GabaritoA — log(n)

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Complexidade da inserção em árvore AVL

Gabarito: letra A. A inserção em uma árvore AVL – estrutura binária balanceada – tem complexidade O(log n) no pior caso, tanto pela busca da posição de inserção quanto pelo rebalanceamento (rotações). O contexto da questão (Wikipédia) confirma que "as operações de busca, inserção e remoção de elementos possuem complexidade O(log n)".

A expressão "no meio da árvore" não altera essa análise: a AVL é naturalmente balanceada, e o caminho percorrido da raiz até o local de inserção tem altura O(log n). As rotações, quando necessárias, também são executadas em tempo constante O(1) ao longo do caminho de volta, perpetuando a complexidade logarítmica.

Operação

Estrutura

Complexidade (pior caso)

Justificativa

Inserção

Árvore AVL

O(log n)

Busca binária pela posição + rebalanceamento com rotações O(1) ao longo do caminho de altura O(log n)

Inserção

Árvore binária de busca (desbalanceada)

O(n)

Pior caso: árvore degenerada (linear), busca sequencial

Inserção

Lista encadeada

O(n)

Busca linear pela posição

Inserção

Vetor ordenado

O(n)

Deslocamento de elementos para abrir espaço

Inserção

Tabela hash (média)

O(1)

Função hash direta (sem colisões)

1Busca da posição
O(log n) — busca binária
2Rebalanceamento
O(1) por rotação
No máximo O(log n) rotações
3Custo total
O(log n)
Inserção em AVL
LEVELsoulevel.com.br
Inserção em AVL: Busca da posição (O(log n) — busca binária); Rebalanceamento (O(1) por rotação, No máximo O(log n) rotações); Custo total (O(log n))

Alternativa A — ✅ Correta ⟵ GABARITO

A inserção em AVL demanda localizar a posição correta (busca binária, O(log n)) e, se o balanceamento for violado, realizar uma ou mais rotações (cada rotação é O(1) e ocorre no máximo ao longo de um caminho de altura O(log n)). Logo, o custo total é O(log n).

Alternativa B — ❌ Incorreta

O(n) corresponderia a uma busca linear, típica de listas encadeadas ou árvores degeneradas (ex: árvore binária de busca sem balanceamento em pior caso). Em uma AVL, a altura é mantida O(log n), portanto linear está incorreto.

Alternativa C — ❌ Incorreta

O(n log n) aparece em algoritmos como a ordenação por intercalação (merge sort). Não é a complexidade de uma única inserção em AVL, que é O(log n).

Alternativa D — ❌ Incorreta

O(n²) é típico de algoritmos como bubble sort ou insertion sort em vetores. Não se aplica à inserção em AVL.

Alternativa E — ❌ Incorreta

O(n² log n) combina fatores ainda maiores, sem fundamento para uma estrutura balanceada. Trata-se de um distrator sem correspondência teórica.

NÃO CAIA NESSA!

"No meio da árvore" pode sugerir que a inserção exige deslocamento linear de nós, como ocorreria em um vetor ou em uma árvore desbalanceada. Lembre-se: a AVL é balanceada – a altura é sempre O(log n), e a busca/inserção segue esse limite. O "meio" é apenas um ponto qualquer da estrutura, não um fator que degrade a complexidade.

Resumo: A complexidade da inserção em AVL é O(log n), resposta letra A.

Link permanente: /questoes/cg011424