Questão de Algoritmos e Estrutura de Dados — Algoritmos — CONSULPAM 2026
- Código
- qg660560
- Banca
- CONSULPAM
- Órgão
- GHC-RS
- Ano
- 2026
- Nível
- Médio
- Cargo
- Programador
- An²
- Bn² - n
- C(n - 1)²
- D(n² - n) / 2
- E(n² + n) / 2
GabaritoD — (n² - n) / 2
Gabarito: D. O algoritmo percorre apenas os elementos acima da diagonal principal, comparando cada par M[i][j] com M[j][i]. No pior caso (matriz simétrica), todas essas comparações são realizadas. O número de elementos acima da diagonal é a soma de (n-1) + (n-2) + ... + 1 = n(n-1)/2 = (n² - n)/2. Portanto, a alternativa D está correta.
n² corresponde ao número total de elementos da matriz (incluindo diagonal e ambos os lados). O algoritmo não percorre elementos abaixo da diagonal nem a diagonal, pois compara apenas acima da diagonal (cada par é único).
n² - n corresponde ao número de elementos fora da diagonal principal (tanto acima quanto abaixo). Como o algoritmo só percorre acima da diagonal, esse valor é o dobro do correto.
(n - 1)² = n² - 2n + 1 não corresponde a nenhuma soma relevante para essa contagem.
(n² - n) / 2 é exatamente a soma dos números de 1 a n-1, ou seja, a quantidade de elementos acima da diagonal principal. O algoritmo, no pior caso, compara todos esses pares uma vez.
(n² + n) / 2 corresponde ao número de elementos na diagonal principal e acima dela (incluindo a diagonal). O algoritmo não compara a diagonal, pois compara apenas elementos acima.
Região da matriz | Quantidade |
|---|---|
Total de elementos | n² |
Diagonal principal | n |
Abaixo da diagonal | (n² - n)/2 |
Acima da diagonal | (n² - n)/2 |
Acima + diagonal | (n² + n)/2 |
Para matrizes quadradas de ordem n, lembre-se que os elementos acima da diagonal formam um triângulo com (n-1) na primeira linha, (n-2) na segunda, até 1. A soma é n(n-1)/2. Essa é uma fórmula clássica para a metade superior de uma matriz.
Gabarito: D
Link permanente: /questoes/qg660560