duvida sobre complexidade

1. duvida sobre complexidade

Gilliard Pacheco
Gilliardpc

(usa Outra)

Enviado em 14/02/2017 - 00:30h

me ajudem aqui

Defina I=20
For (n=1≤,n++
if (n==i){
printf(""igual\"" )
}
if(n<i){
print " n aina é menor que i
}


1 Qual é a complexidade elevado em conta somente :
As comparações
2^( x 19 )
38 comparações

// // implementação

3^( x 19 )+1 = 58 comparações


OS 2 ESTÃO CERTOS ? Se isso está certo, esse 3X19 está por causa do IF e o +1 POR CAISA DO N++
&#8195;



  


2. Re: duvida sobre complexidade

Paulo
paulo1205

(usa Ubuntu)

Enviado em 14/02/2017 - 09:07h

Prezado,

Não deu para entender sua dúvida. Parece que você usou alguns caracteres que o fórum do VoL não aceita representar. Além disso, as perguntas não ficaram claras (até porque não deu para ler o que vinha antes delas, que ficou desformatado).

Se puder, recoloque sua postagem de uma forma mais clara e com caracteres aceitos pelo fórum.


3. quando tempo de execução

Gilliard Pacheco
Gilliardpc

(usa Outra)

Enviado em 14/02/2017 - 13:03h

eu queria saver quanto tempo é feito a exsução e quantas comparação de complexabilidade eu tenho

Defina I=20
For (n=1<,n++
if (n==i){
printf("igual"" )
}
if(n<i){
print " n aina é menor que i
}


1 Qual é a complexidade elevado em conta somente :
As comparações
2^( x 19 )
38 comparações

// // implementação

3^( x 19 )+1 = 58 comparações


OS 2 ESTÃO CERTOS ? Se isso está certo, esse 3X19 está por causa do IF e o +1 POR CAISA DO N++



4. Re: duvida sobre complexidade

Paulo
paulo1205

(usa Ubuntu)

Enviado em 14/02/2017 - 14:45h

Seu programa continua não fazendo sentido: claramente alta um pedaço do comando for. E não deu para entender direito o que são “2^( x 19 )” e “3^( x 19 )+ 1” (principalmente o sinal de “^” nessas expressões).

Por acaso você está misturando no mesmo texto perguntas e respostas?

Dezenove poderia ser o número de iterações do for, mas somente se estivesse escrito “for(i=1; i<I; i++)” (observe as partes em negrito, que faltaram na sua postagem), levando em consideração a linha anterior, que diz que I=20 (aliás, esse I maiúsculo é meio complicado, pois parece um L minúsculo com a fonte default do VoL).

Mas esse resultado ainda pode estar errado porque ainda pode estar faltando algum pedaço. Eu não sei se o programa deveria ser o primeiro o segundo caso mostrados abaixo.

I=20;
for(i=1; i<I; i++)
if(i==I){
/* bla, bla, bla */
}
if(i<I){
/* ble, ble, ble */
}


I=20;
for(i=1; i<I; i++){
if(i==I){
/* bla, bla, bla */
}
if(i<I){
/* ble, ble, ble */
}
}


Se for o primeiro caso, serão 20 comparações feitas pelo próprio for (condição de parada), 19 comparações no primeiro if (dentro do laço de repetição) e uma comparação no segundo if (após o final do laço). Além disso, o valor de i será incrementado 19 vezes.

Se for o segundo caso, são 20 comparações da condição de parada do for e 19 comparações para cada if. Também continuam sendo 19 incrementos de i.

Em todo caso a complexidade de ambos é linear, proporcional ao próprio número de iterações do laço de repetição. Uma forma de indicar isso é dizer que a complexidade é da ordem O(n).






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts