Mam macierz m * n i dla każdego wiersza muszę porównać wszystkie elementy między nimi. Dla każdej pary, którą znajdę, zadzwonię do funkcji, która wykona pewne obliczenia.Porównanie wszystkich elementów tablicy - algorytm C
przykład:
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
Stosując C Napisałem:
for (i=0; i<array_length; i++) {
for (k=0; k<array_length; k++) {
if (i==k) continue;
//Do something
}
}
}
ja zastanawiać, czy można użyć algorytmu z mniejszą złożoność.
Bez znajomości konkretnych obliczeń robisz, nie ma sposobu, aby powiedzieć, co może być zoptymalizowana. –
Czy naprawdę masz matrycę, czy tylko mówisz o permutacjach małych liczb naturalnych? – unwind
Istnieje n^2 par, więc nie można zrobić lepiej niż n^2 ... –