Studiul complexitatii algoritmului Quick_Sort in caz mediu
Pentru complexitatea medie trebuie considerata probabilitatea tuturor aparitiilor datelor de intrare. Consideram ca orice configuratie de date la intrare este egal probabila. Probabilitatea ca pivotul sa fie plasat in pozitia k este egala pentru . Asadar, pivotul va fi plasat in pozitia k prin partitionare, cu o probabilitate egala cu 1/n, pentru .
Suma tuturor probabilitatilor este 1. Evenimentul este plasarea pivotului in pozitia k. Consideram Ti(n) timpul de executie al algoritmului Quick_Sort atunci cand pivotul este plasat in pozitia i:
Rezulta:
Timpul mediu va fi o medie aritmetica:
Dezvoltand,
(Facand schimbarea de variabila j = n - i + 1)
Rezulta relatia de recurenta cu istorie completa:
|
Aceasta se rezolva astfel: inmultind relatia cu n rezulta:
Scriem acum relatia inlocuind pe n cu n+1:
Si scazandu-le acum membru cu membru rezulta:
care se inmulteste cu: ,
Notam:
Facand o majorare:
(un element nu se ordoneaza).
Rezulta: si este aria zonei de sub graficul functiei .
unde O(n ln n) este complexitatea acestei functii.
|