Ir para o conteúdo

Questões sobre Complexidade de Algoritmos e Análise de Custo

Questão 1
O que representa o valor n na análise de complexidade de algoritmos?
  • A. O tempo de execução em segundos
  • B. O tamanho da entrada do algoritmo
  • C. A quantidade de memória RAM usada
  • D. O número de linhas do código
  • Questão 2
    Qual é o principal objetivo da análise de algoritmos?
  • A. Medir o tempo exato em segundos de execução
  • B. Comparar linguagens de programação
  • C. Entender o custo de execução em função do tamanho da entrada
  • D. Melhorar a interface do usuário
  • Questão 3
    Qual é a ideia principal ao calcular a função de custo f(n)?
  • A. Contar o número de variáveis usadas
  • B. Somar o número de linhas do código
  • C. Contar quantas vezes cada operação é executada em função de n
  • D. Medir o tamanho do programa em bytes
  • Questão 4
    Qual é a função de custo simplificada da busca linear apresentada?
    
    public int buscaLinear(int[] vetor, int alvo) {
        for (int i = 0; i < vetor.length; i++) {
            if (vetor[i] == alvo) {
                return i;
            }
        }
        return -1;
    }
    

  • A. f(n) = log n + 1
  • B. f(n) = n² + n
  • C. f(n) = 3n + 4
  • D. f(n) = 2ⁿ
  • Questão 5
    O que acontece com o custo da busca linear quando o tamanho do arranjo dobra?
  • A. O custo diminui pela metade
  • B. O custo permanece constante
  • C. O custo aproximadamente dobra
  • D. O custo vira logarítmico
  • Questão 6
    Qual caso da busca linear representa o melhor desempenho?
  • A. Elemento na última posição
  • B. Elemento não existe
  • C. Elemento na primeira posição
  • D. Lista vazia sempre
  • Questão 7
    Qual caso representa o pior caso da busca linear?
  • A. Elemento na primeira posição
  • B. Elemento no meio
  • C. Elemento na última posição ou inexistente
  • D. Lista ordenada
  • Questão 8
    Qual tipo de crescimento a busca linear apresenta?
    
    public int buscaLinear(int[] vetor, int alvo) {
        for (int i = 0; i < vetor.length; i++) {
            if (vetor[i] == alvo) {
                return i;
            }
        }
        return -1;
    }
    

  • A. Constante O(1)
  • B. Logarítmico O(log n)
  • C. Linear O(n)
  • D. Quadrático O(n²)
  • Questão 9
    Qual operação geralmente possui custo constante O(1)?
  • A. Percorrer um array inteiro
  • B. Dois loops aninhados
  • C. Acesso direto a um elemento por índice
  • D. Busca linear
  • Questão 10
    Qual tipo de algoritmo geralmente possui crescimento O(n²)?
  • A. Busca binária
  • B. Percurso simples
  • C. Dois loops aninhados
  • D. Acesso direto
  • Questão 11
    Por que a análise de algoritmos ignora hardware e sistema operacional?
  • A. Porque não influenciam o desempenho
  • B. Porque só funcionam em Java
  • C. Para focar no comportamento matemático do algoritmo
  • D. Porque são sempre iguais em todos os computadores