Ho una matrice m * n e, per ogni riga, ho bisogno di confrontare tutti gli elementi tra di loro. Per ogni coppia che trovo, chiamerò una funzione che sta per eseguire alcuni calcoli.Confronto di tutti gli elementi dell'array - C algoritmo
Esempio:
my_array -> {1, 2, 3, 4, 5, ...}
I take 1 and I have: (1,2)(1,3)(1,4)(1,5)
I take 2 and I have: (2,1)(2,3)(2,4)(2,5)
and so on
Utilizzando C ho scritto questo:
for (i=0; i<array_length; i++) {
for (k=0; k<array_length; k++) {
if (i==k) continue;
//Do something
}
}
}
Mi chiedevo se posso usare un algoritmo con complessità inferiori.
Senza conoscere i calcoli specifici che stai facendo, non c'è modo di dire ciò che può essere ottimizzato. –
Quindi, hai davvero una matrice, o stai solo parlando di permutazioni di piccoli numeri naturali? – unwind
Ci sono n^2 coppie, quindi non si può fare meglio di n^2 ... –