Dato un vettore
di n interi, si vuole calcolarne la produttoria
. Si scriva lo pseudo-codice di un algoritmo di complessità ottima che utilizzi la tecnica divide-et-impera con partizione bilanciata dei dati.Io l'ho scritto in java per abitudine. Però se n è dispari bisogna fare un controllo perché non si può dividere in due parti. Vi sembra giusto? O manca qualcosa?
- Codice: Seleziona tutto
public static int getProduct(int[] v)
{
int prod=v[length-1]; //tanto lo sovrascrivo n è pari
if(v.length%2=0)
prod = product(v,0,v.length-1);
else
prod *= product(v,0,v.length-2);
return prod;
}
private static int product(int[] a, int j, int i)
{
if(i==j+1)
return a[j]*[i];
int mid=(j+i)/2;
return product(a, i, mid)*product(a, mid+1, j);
}

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)