You are on page 1of 5

ListadeExerccio

PARTEI:ComplexidadedeCdigo

Questo1.Calculeacomplexidadeassintticadoseguintetrechodecdigo.Vocpode
assumirsemperdadegeneralidadequenumapotnciadedois,ouseja,n=2m.

for(inti=ni>0i/=2){
for(intj=1j<nj*=2){
for(intk=0k<nk++){
...//constantnumberofoperations
}
}
}

Questo2.Calculeacomplexidadeassintticadoseguintetrechodecdigo.Vocpode
assumirsemperdadegeneralidadequenumapotnciadedois,ouseja,n=2m.

for(i=1i<ni*=2){
for(j=n/2j>0j/=2){
for(k=jk<nk++){
sum+=(i+j*k)
}
}
}

Questo3.Calculeacomplexidadeassintticadoseguintetrechodecdigo.Vocpode
assumirsemperdadegeneralidadequenumapotnciadedois,ouseja,n=2m.

for(inti=ni>0i){
for(intj=1j<nj*=2){
for(intk=0k<jk++){
...//constantnumberCofoperations
}
}
}

Questo4.Calculeacomplexidadeassintticadoseguintetrechodecdigo.

for(intbound=1bound<=nbound*=2){
for(inti=0i<boundi++){
for(intj=0j<nj+=2){
...//constantnumberofoperations
}
for(intj=1j<nj*=2){
...//constantnumberofoperations
}
}
}
PARTEII:ComplexidadeAssinttica

Questo5.DadoqueummtododeordenaocomcomplexidadeT(n)=O(n.logn)gasta
1milissegundoparaordenar1.000elementos.Assumaqueotempodaordenaoden
elementosdiretamenteproporcionalan.logn,ouseja,T(n)=c.n.logn,ondecuma
constante.Estimequantotempoestemtodogastariaparaordenar1.000.000elementos.

Questo6.DadoqueumalgoritmodecomplexidadeT(n)=c.n2gasta1milisegundopara
processar100itens.Estimequantotempoelegastariaparaprocessar5.000itens.

Questo7.DadoumalgoritmocomcomplexidadeO(f(n)).Assumaqueestealgoritmo
gasta10segundosparaprocessar1.000itens.Estimequantotempoelegastariapara
processar100.000itens,noscasosonde
(a)f(n)=n
(b)f(n)=n3

Questo8.AssumaquecadaumadasexpressesabaixodacomplexidadeT(n)deum
algoritmopararesolverumproblemadetamanhon.Selecioneo(s)termo(s)dominante(s)
comeespecifiqueaordemdecomplexidadedecadaalgoritmo.
Questo9.Determinesecadaafirmaoabaixoverdadeiraoufalsa.Corrijaafirmao
casonecessrio.
(a)Regradassomas:O(f)+O(g)=O(f+g)

(b)Regradosprodutos:O(f)O(g)=O(fg)

(c)Transitividade:g=O(f)h=O(f)g=O(h)

(d)5.n+100.n3+8.n2=O(n4)

(e)5.n+100.n3+8.n2=O(n2.logn)

Questo10.ProvequeT(n)=a0+a1n+a2n2+a3n3O(n3).Dica:Encontreasconstantes
cen0talqueT(n)c.n3parann0.

Questo11.DadoqueacomplexidadedosalgoritmosAeBrespectivamente
TA(n)=0,1.n2.log10neTB(n)=2,5.n2.
(a)Determinequaloalgoritmocommelhorcomplexidadeassinttica.
(b)Descubraotamanhodoprobleman0talqueparan>n0estealgoritmoo
melhor.
(c)Qualdosdoisalgoritmosmelhorpararesolverproblemascomn109?

Questo12.DadoqueacomplexidadedosalgoritmosAeBrespectivamente
TA(n)=cA.n.log2neTB(n)=cB.n2.AssumaqueoalgoritmoAgasta10microssegundos
paraprocessar1.024itensequeoalgoritmoBgastaapenas1microssegundopara
processarosmesmos1.024itens.Encontreomelhoralgoritmoparaprocessarn=220
itens.

Questo13.DadoqueacomplexidadedosalgoritmosAeBrespectivamente
TA(n)=5.n.log10neTB(n)=25.n.
(a)Determinequaloalgoritmocommelhorcomplexidadeassinttica.
(b)Descubraotamanhodoprobleman0talqueparan>n0estealgoritmoo
melhor.

Questo14.DadoqueacomplexidadedosalgoritmosAeBrespectivamente
TA(n)=0,1.n.log2neTB(n)=5.n.
(a)Determinequaloalgoritmocommelhorcomplexidadeassinttica.
(b)Descubraotamanhodoprobleman0talqueparan>n0estealgoritmoo
melhor.
(c)Qualdosdoisalgoritmosmelhorpararesolverproblemascomn1012?

Questo15.DadoqueacomplexidadedosalgoritmosAeBrespectivamente
TA(n)=0,001.neTB(n)=500.n.
(a)Determinequaloalgoritmocommelhorcomplexidadeassinttica.
(b)Descubraotamanhodoprobleman0talqueparan>n0estealgoritmoo
melhor.
(c)Qualdosdoisalgoritmosmelhorpararesolverproblemascomn109?

Questo16.DadoqueacomplexidadeassintticadosalgoritmosAeBrespectivamente
O(n.logn)eO(n).AssumaqueotempogastoporAeBparaprocessarn=104itensfoi
respectivamente100milissegundose500milissegundos.
(a)Estimeotamanhodoprobleman0talque,paran>n0,BmelhorqueA.
(b)Qualdosdoisalgoritmosmelhorpararesolverproblemascomn=109itens?

Questo17.DadoumaclassedealgoritmosdecomplexidadeO(f(n)).Assumaqueo
tempodeprocessamentodestealgoritmosproporcionalaf(n).SejamA1,A2eA3
algoritmosdestaclasse,comcomplexidadesO(n2),O(n1,5)eO(n.logn),respectivamente.
Assumaqueemumtestetodososalgoritmosgastaram10segundosparaprocessarn=
100itens.Estimeotempoquecadaalgoritmolevariaparaprocessar10.000itens.

Questo18.DadoqueacomplexidadedosalgoritmosAeBrespectivamente
TA(n)=3.n1,5eTB(n)=0,03.n1,75.Qualdosdoisalgoritmosmelhorpararesolver
problemascomn108?

PARTEIII:Recurso(OPCIONAL)

Questo19.Dadoquecomplexidadedeumalgoritmodadapelaseguinteequaode
recorrncia,ondeceksoconstantes.
T(n)=k.T(n/k)+c.n
T(1)=0
(a)CalculeovalordeT(n)emtermosdec,nek.Vocpodeassumirsemperdade
generalidadequenumapotciadek,ouseja,n=km.
(b)Qualacomplexidadeassintticadestealgoritmo?

Questo20.Dadoquecomplexidadedeumalgoritmodadapelaseguinteequaode
recorrncia,ondeceksoconstantes.
T(n)=k.T(n/k)+k.c.n
T(1)=0
(a)CalculeovalordeT(n)emtermosdec,nek.Vocpodeassumirsemperdade
generalidadequenumapotciadek,ouseja,n=km.
(b)Qualacomplexidadeassintticadestealgoritmo?

Questo21.Qualvalordek{2,3,4}resultanomenortempodeprocessamentoparao
algoritmoacima?
Questo22.Dadaumafunofloatpow(floatx,intn)quecalculaovalor
dexn.
(a)ImplementeestafunoemC++ecalculesuacomplexidadeassinttica.
(b)Agora,pensemaisumpoucoefaaumaimplementaoemO(logn).Vocpode
assumirsemperdadegeneralidadenocculodacomplexidadedestaimplementaoquen
umapotciade2,ouseja,n=2m.

You might also like