SóProvas


ID
868681
Banca
CESPE / CEBRASPE
Órgão
TRE-MS
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Considerando que se deseje efetuar uma pesquisa de um valor sobre a chave primária de uma tabela de um banco de dados com uma chave primária com um tipo de campo que receba um valor inteiro e que se possa fazer essa pesquisa utilizando-se a busca sequencial ou a busca binária, assinale a opção correta.

Alternativas
Comentários
  • Pesquisa binária
    classe Algoritmo de busca
    estrutura de dados Array, Listas ligadas
    complexidade caso médio {O}(\log n)
    complexidade melhor caso {O}(1)
    complexidade de espaços pior caso {O}(\log n)
    otimo Sim
    espaço {O}(1)
    Algoritmos
  • A Disciplina nao e BD e sim Estrutura de Dados.
  • a) CORRETA. A complexidade da busca binária é de logn comparações
    b) ERRADA. Para se efetuar a busca binária, a tabela TEM que estar ordenada. A busca sequencial pode ser mais rápida do que a binária se o elemento buscado estiver na primeira posição.
    c) ERRADA. o método sequencial requer no máximo n comparações
    d) ERRADA.  Conforme dito no item b.
    e) ERRADA. Isso é independente. No mínimo será 1, caso encontre o elemento na primeira posição e no máximo n caso.
  • A questão deveria ser anulada. O item a) está incorreto, pois:
    1) não é ln mas log2. ln é logaritmo natural, na base e (de euler) e não na base 2 como deveria ser;
    2) o número máximo de comparações não é log2n, mas ceil(log2n) [o valor arredondado para cima do log], isso porque o valor de n pode não dar um número inteiro, nesse caso o número máximo de comparações é o primeiro inteiro maior que o log, ou seja, ceil().
    Um bom recurso anularia essa questão (ainda mais falando de CESPE).
  • log 2 n = ln n / ln 2 = O(ln n)