web-dev-qa-db-fra.com

Pourquoi la complexité temporelle de K-Way fusion-t-elle Sort O (nk ^ 2)?

Je suis relativement nouveau dans l'analyse des algorithmes et je prends un cours connexe sur Coursera où je suis arrivé à Cross K Way Fusion Sort.

La complexité temporelle de 2 voies Sort Sort est n log2 n, de 3 voies de fusion est n log3 n et sur 4 fusion de fusion est n log4 n.

Mais, dans le cas de K-Way, la complexité est NK ^ 2. C'est parce que nous faisons attention à la fusion de l'algo; (2n + 3n + 4n...kn).

Mais, dans le cas d'algorithmes de 2, 3 et 4 voies, nous accordons une attention particulière à l'appel récursif d'une fonction; (2T(n/2) + c.n).

Quelqu'un peut-il expliquer pourquoi cela en est ainsi? Ou corriger mon approche de cette question.

5
K_K

la profondeur de la récursion est log n/log k,

coûts de fusion n*log k, à l'aide d'un tas min de tas pour log k par élément

ainsi, nous venons à T(n) = n* log k + K* T(n/k) qui (sauf que je ne me trompe) devient n log n (- réellement n (c_1/k+log(n))= n/k + n*log(n) Mais le n/k devient insignifiant dans Big O)

1
ratchet freak