Questões do POSCOMP sobre Complexidade de Algoritmos #01

Por
|  

O intuito desta postagem é apresentar a solução de algumas questões do POSCOMP sobre Complexidade de Algoritmos. O POSCOMP (Exame Nacional para Ingresso na Pós-Graduação em Computação) "testa conhecimentos na área de Computação e tem como objetivo específico avaliar os conhecimentos de candidatos a Programas de Pós-Graduação em Computação oferecidos no Brasil" (SBC sobre o POSCOMP).

Para mais questões sobre o exame acesse a página POSCOMP.

POSCOMP 2002

Questão 29

Qual das seguintes afirmações sobre crescimento assintótico de funções não é verdadeira:

  • (a) 2n2+3n+1=O(n2)
  • (b) Se f(n)=O(g(n)) então g(n)=O(f(n))
  • (c) logn2=O(logn)
  • (d) Se f(n)=O(g(n)) e g(n)=O(h(n)) então f(n)=O(h(n))
  • (e) 2n+1=O(2n)
Resolução

Conforme o gabarito, a alternativa (b) é a correta. Vamos analisar cada uma:

(a) A afirmação é verdadeira, pois qualquer polinômio de grau k é O(nk). Neste caso, k = 2, portanto 2n2+3n+1=O(n2).

(b) É falso. Quando afirmamos que f(n)=O(g(n)) significa que que g(n) representa um limite superior para f(n), portanto nem sempre temos g(n)=O(f(n)). Além disso, podemos também utilizar um contraexemplo. Suponha que f(n)=n2 e g(n)=n3. Dessa forma, teríamos n2=O(n3), que é verdade. Porém, n3O(n2), portanto a afirmação é falsa.

(c) logn2=2logn=O(logn), portanto é verdade.

(d) É verdade. Essa é a propriedade transitiva da notação Big-O.

(e) 2n+1=2×2n=O(2n), portanto é verdade.

Questão 31

Considere o algoritmo da busca sequencial de um elemento em um conjunto com n elementos. A expressão que representa o tempo médio de execução desse algoritmo para uma busca bem sucedida é:

  • (a) n2
  • (b) n(n+1)/2
  • (c) log2n
  • (d) (n+1)/2
  • (e) nlogn
Resolução

O caso médio é a média (ou valor esperado) de todos os casos possíveis. Basicamente, multiplicamos a probabilidade de cada caso pelo custo e somamos os resultados. Como todos os casos são igualmente prováveis, então a probabilidade de cada caso é 1/n, onde n é o tamanho do vetor. O custo para encontrar um elemento é igual à posição que o mesmo ocupa, que é a quantidade de comparações necessárias para encontrá-lo. Isto é, se o elemento está na posição i, então o custo é i. Logo,

T(n)=ni=11n×i=1nni=1i

T(n)=1n×n(n+1)2=n+12

Portanto, a resposta correta é (d).

Questão 32

Quais dos algoritmos de ordenação abaixo possuem tempo no pior caso e tempo médio de execução proporcional a O(nlogn).

  • (a) Bubble sort e quicksort
  • (b) Quicksort e merge sort
  • (c) Merge sort e bubble sort
  • (d) Heap sort e selection sort
  • (e) Merge sort e heap sort
Resolução

Vamos analisar cada alternativa:

(a) Não é verdade, pois o Bubble sort tem pior caso e caso médio igual a O(n2) e o pior caso do Quicksort também é O(n2).

(b) É falso, pois, apesar do Merge sort ser O(nlogn) no pior caso e no caso médio, o Quicksort é quadrático no pior caso.

(c) É falso, pois o Bubble sort é quadrático no caso médio e no pior caso.

(d) É falso, pois o Selection sort é quadrático.

(e) É verdade, pois o Merge sort e o Heap sort têm complexidade O(nlogn) no pior caso e no caso médio.

Portanto, a alternativa correta é a (e).

POSCOMP 2003

Questão 37

Qual é o número mínimo de comparações necessário para encontrar o menor elemento de um conjunto qualquer não ordenado de n elementos?

  • (a) 1
  • (b) n - 1
  • (c) n
  • (d) n + 1
  • (e) n log n
Resolução

A alternativa correta é a (b), porque se você considerar que o primeiro elemento do conjunto é o menor, então terá que fazer comparações com os outros n - 1 elementos restantes, fazendo substituições no valor (variável) caso algum valor menor seja encontrado.

Questão 39

Quais das seguintes igualdades são verdadeiras?

  • I. n2=O(n3)
  • II. 2n+1=O(n2)
  • III. n3=O(n2)
  • IV. 3n+5nlogn=O(n)
  • V. logn+n=O(n)
  • (a) somente I e II
  • (b) somente II, III e IV
  • (c) somente III, IV e V
  • (d) somente I, II e V
  • (e) somente I, III e IV
Resolução

Vamos analisar cada afirmação:

I) É verdadeira, pois n3 é um limite superior para n2.

II) É verdadeira, pois n2 é assintoticamente maior que 2n+1.

III) É falsa, pois n2 não é um limite superior para n3. Na prática, n3 é assintoticamente maior que n2.

IV) É falsa, pois nlogn é assintoticamente maior que n.

V) É verdadeira, pois n é um limite superior para n e para logn.

Portanto, a alternativa correta é a (d).

POSCOMP 2004

Questão 25

Considere as seguintes afirmativas sobre o algoritmo de pesquisa binária:

  • I. a entrada deve estar ordenada
  • II. uma pesquisa com sucesso é feita em tempo logarítmico na média
  • III. uma pesquisa sem sucesso é feita em tempo logarítmico na média
  • IV. o pior caso de qualquer busca é logarítmico

As afirmativas corretas são:

  • (a) Somente I e II.
  • (b) Somente I, II e III.
  • (c) Somente II e III.
  • (d) Somente III e IV.
  • (e) Todas as afirmativas estão corretas.
Resolução

A afirmativa I é verdadeira, pois a pesquisa binária só funciona se o vetor estiver ordenado.

As afirmativas II, III e IV também são verdadeiras. O pior caso e o caso médio têm complexidade O(logn). Observe que as afirmativas III e IV são quase equivalentes, pois o pior caso é justamente a busca sem sucesso.

Questão 34

Um algoritmo é executado em 10 segundos para uma entrada de tamanho 50. Se o algoritmo é quadrático, quanto tempo em segundos ele gastará, aproximadamente, no mesmo computador, se a entrada tiver tamanho 100?

  • (a) 10
  • (b) 20
  • (c) 40
  • (d) 100
  • (e) 500
Resolução

Como ele é quadrático, então podemos fazer a seguinte aproximação para o tempo de execução: T(n)=cn2, onde c é uma constante que determinaremos a seguir.

Sabe-se que T(50)=10, logo

c×502=102500c=10c=102500=1250.

Ou seja, T(n)=1250n2. Para n=100, temos

T(100)=1250×1002=10000250=40.

Portanto, a alternativa correta é a (c).

Sugestões de livros para estudantes de computação na Amazon (patrocinado): Lista de Livros

Obrigado pela leitura! Se você puder, considere apoiar financeiramente o Blog Cyberini, Chave Pix: cyberpix9@gmail.com

Doar com PayPal

Siga o blog

Redes sociais: Facebook, Twitter, YouTube, Pinterest, Instagram, Telegram

Importante: utilize o bom senso na hora de comentar. Acesse a política de privacidade para maiores informações sobre comentários.

Nenhum comentário:

Postar um comentário

Este site usa cookies para fornecer serviços, analisar o tráfego e exibir publicidade personalizada, conforme a nossa política de privacidade. Seus dados, como IP e user agent, são compartilhados com nossos parceiros (como o Google). Saiba Mais

RecusarAceitar