Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Lista	de	Exercícios	2	
	
1. Dadas	 as	 definições	 das	 notações	 assintóticas	 O,	 Ω	 e	 Θ,	 verifique	 as	
expressões	 abaixo.	 Para	 tanto,	 identifique	 constantes	 que	 validem	 a	
inequação,	 caso	 a	 expressão	 esteja	 correta,	 ou	 prove	 que	 tá	 errada	 por	
absurdo.		
a. 3n2	+	n	=	Ω(n)	
b. 3n2	+	n	=	O(n)		
c. 2n2	+	10	=	O(n3)	
d. 2n2	+	10	=	O(n2)	
e. 4n	+7	=	O(n)	
f. 2n2	+	n	=	O(n)	
g. 1/2n2	-3n	=	Θ(n2)	
	
2. Considere	 o	 problema	 de	 pesquisar	 um	 elemento	 em	 um	 vetor:		
Entrada:	Uma	sequência	de	n	números	A	=	<a1,	a2,	...,	an	>	e	um	valor	v.		
Saída:	Um	índice	i	tal	que	A[i]	=	v	ou	0	caso	v	não	seja	encontrado	em	
A.	O	 algoritmo	 de	 pesquisa	 linear	 percorre	 o	 vetor	 sequencialmente	
procurando	pelo	valor	v.		
a. Escreva	 o	 algoritmo	 de	 pesquisa	 linear	 (utilize	 a	 pseudo-
linguagem	do	livro	ou	a	linguagem	C)	�.	
b. Considere	que	v	sempre	está	presente	em	A.	Qual	é	a	função	de	
complexidade	do	seu	algoritmo	para	o	número	de	comparações	
de	elementos	no	melhor	e	no	pior	caso.	
	
3. Reescreva	o	procedimento	MERGE	de	modo	que	ele	não	utilize	sentinelas	
(∞)	e,	em	vez	disso,	se	interrompa	depois	que	o	arranjo	L	ou	R	tiver	todos	
os	seus	elementos	copiados	de	volta	para	A,	e	então	copie	o	restante	do	
outro	arranjo	de	volta	em	A.		
	
4. 	Voltando	 ao	 problema	 da	 pesquisa	 (questão	 2)	 	 observe	 que,	 se	 a	
sequência	 A	 estiver	 ordenada,	 poderemos	 comparar	 o	 ponto	 médio	 da	
sequência	 com	 v	 e	 eliminar	 metade	 da	 sequência	 de	 consideração	
posterior.	 A	 pesquisa	 binária	 é	 um	 algoritmo	 que	 repete	 esse	
procedimento,	 dividindo	 ao	 meio	 o	 tamanho	 da	 porção	 restante	 da	
sequência	 a	 cada	 vez.	 Escreva	 pseudocódigo,	 sendo	 ele	 iterativo	 ou	
recursivo,	para	pesquisa	binária.	Demonstre	que	o	tempo	de	execução	do	
pior	caso	da	pesquisa	binária	é	O(lg	n).

Mais conteúdos dessa disciplina