Ho il seguente algoritmo che trova i duplicati e li rimuove:
public static int numDuplicatesB(int[] arr) {
Sort.mergesort(arr);
int numDups = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] == arr[i - 1]) {
numDups++;
} }
return numDups;
}
Sto cercando di trovare la peggiore complessità temporale di questo. So che mergesort è nlog(n), e nel mio ciclo for sto iterando sull'intero set di dati in modo che contasse come n. Non sono sicuro di cosa fare con questi numeri. Dovrei semplicemente sommarli? Se dovessi farlo, come lo farei?

contiene tutte le funzioni che sono - a partire da alcuni punti arbitrari di grandi dimensioni
- sempre più piccole di g.
