Je lis l'introduction de Cormen dans les algorithmes.
Je ne comprends pas pourquoi fusionner n/k
tableaux avec k
éléments dans chacun d'eux a la complexité de O(n*log(n/k))
. Ce qui manque ici, c'est que nous avons n/k
tableaux. Par conséquent, nous devons effectuer la fusion n/(k-1)
fois chacun avec O(n)
limite supérieure.
Cependant, nous avons un logarithme, donc je suppose qu'il me manque quelque chose dans ma compréhension de la complexité de fusion.Complexité de l'opération de fusion dans le tri par fusion
Toute aide est la bienvenue.
Je viens de le réaliser. Merci. –
Mais la constante ne serait-elle pas un peu plus élevée si on utilise le tas, car lors de l'insertion il est possible d'avoir plusieurs swaps? –
@LongSmith La structure de données Heap a une bonne localisation de la propriété de référence, ce qui signifie qu'elle est assez proche du cache. Cela dépendra de la machine et des scénarios spécifiques, mais je crois que cela aura de meilleures constantes pour la plupart des implémentations à cause de cela. – amit