J'ai l'algorithme suivant qui trouve les doublons et les supprime:
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;
}
J'essaie de trouver le pire cas de complexité temporelle de cela. Je sais que mergesort est nlog(n), et dans ma boucle for, j'itère sur l'ensemble des données afin que cela compte n. Je ne sais pas quoi faire de ces chiffres. Dois-je simplement les additionner ensemble? Si je devais le faire, comment le ferais-je?

Contient donc toutes les fonctions qui sont - à partir d'un grand point arbitraire
- toujours plus petites que g.
