Dobrý deň,
čítal som, že minimálna zložitosť Qsortu sa dá zistiť rozhodovacím stromom (jedná sa o obyčajné porovnanie dvoch a viac prvkov). Viem ako rozhodovací strom vyzerá, ale neviem ako z neho vyčítať tú minimálnu zložitosť.
Ďakujem za odpoveď a ochotu.
Offline
Dobrý deň,
na tejto stránke: http://www.kiwiki.info/index.php/Algori … Quick_sort
by to malo byť [mathjax]n*log(n)[/mathjax].
Ale ako sa k tomu dostali?
Ďakujem za odpoveď a ochotu.
Offline
↑ fmfiain:
Ahoj, co to je minimální složitost?
Offline
Jinak nedávno tu někdo řešil složitost QuickSortu v průměrném případě, je to ca týden, tak stačí zapátrat.
Offline
Dobrý deň ↑ check_drummer:,
minimálna zložitosť je minimálna hĺbka rozhodovacieho stromu pre [mathjax]n \ge 2[/mathjax], kde n je počet porovnavanych čísel. V základe sa jedná o najkratšiu cestu od koreňa po list.
Problém je, že sa jedná o všeobecné vyjadrenie tejto cesty pre n porovnávanych čísel.
Ďakujem za odpoveď a ochotu.
Offline
Dobrý deň ↑ check_drummer:,
ten Qsort v priemernom prípade som tu riešil ja :).
Ďakujem za odpoveď a ochotu.
Offline
Dobrý deň ↑ check_drummer:,
zložitosť triediaceho algoritmu sa meria počtom porovnaní
prvku s ostatnými prvkami.
Ďakujem za odpoveď a ochotu.
Offline
Dobrý deň ↑ check_drummer:,
ak je zložitosť n, tak to znamená, že stačí prejsť jeden krát n prvov a mám všetko utriedené.
Ak ale je zložitosť [mathjax]n\log_{}n[/mathjax], musím prejsť [mathjax]n\log_{}n[/mathjax] prvkov aby som mal všetko utriedené.
A to si neviem predstaviť.
Ďakujem za odpoveď a ochotu.
Offline
Dobrý deň ↑ check_drummer:,
ak vytvoríme dva cikly, pričom jeden je vnoreny (napr. Buble sort)
, musíme prejsť n krát n prvkov, čiže máme porovnanie [mathjax]n*n[/mathjax] prvkov a teda zložitosť je [mathjax]n^{2}[/mathjax].
Ale ten [mathjax]n \log_{}n[/mathjax] si fakt neviem predstaviť.
Ďakujem za odpoveď a ochotu.
Offline
Složitost n log n znamená jen to, že se obvykle dosáhne setřídění již po log n průchodech vnějšího cyklu. Ale pro Quicksort je minimální složitost n, když se už při prvním průchodu zjistí, že data jsou již setříděná. Teda jestli si to dobře pamatuju, naposledy jsem o Quicksortu slyšel někdy v minulém tisíciletí, od té doby ho nepoužívám, protože je pomalý a složitý :D
Offline
Zdravím, doporučuji se podívat na
https://www.algoritmy.net/article/10/Quicksort
Offline