Nous savons que la fusion a en quelque sorte le temps complexité O (nlogn) pour l'algorithme ci-dessous:tri par fusion complexité
void mergesort(n elements) {
mergesort(left half); ------------ (1)
mergesort(right half); ------------(2)
merge(left half, right half);
Quelle sera la complexité de temps pour les implémentations suivantes?
(1)
void mergesort(n elements) {
mergesort(first quarter); ------------ (1)
mergesort(remaining three quarters); ------------(2)
merge(first quarter, remaining three quarters);
(2)
void mergesort(n elements) {
mergesort(first quarter); ------------ (1)
mergesort(second quarter); ------------(2)
mergesort(third quarter); ------------ (3)
mergesort(fourth quarter); ------------(4)
merge(first quarter, second quarter,third quarter, fourth quarter);
Veuillez expliquer comment vous trouvez les complexités.
Cela semble être une question de devoirs. Pas de problème avec ça mais au moins, expliquez ce que vous en pensez. Nous ne sommes pas ici pour vous donner une réponse prête à copier-coller. –
J'ai un smilar, pas le même problème que les devoirs. J'ai calculé la relation de récurrence et j'ai obtenu la réponse à chaque fois. Trouvé étrange. – Ravindra