Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 08. 09. 2013 19:41

panak
Zelenáč
Příspěvky: 8
Reputace:   
 

Dokažte složitos O(nlogn)

Počítání složitosti mi nedělá dobře. Poradíte?

Dokažte, že jakýkoliv algoritmus pro setřídění n prvkového pole jehož prvky lze pouze
porovnávat, musí provést minimálně O(n log n) porovnání.

Offline

  • (téma jako vyřešené označil(a) panak)

#2 08. 09. 2013 20:42

Bati
Příspěvky: 2469
Reputace:   192 
 

Re: Dokažte složitos O(nlogn)

Je třeba si ten algoritmus představit jako rozhodovací strom. Výsledkem každého porovnání je buď ano, nebo ne, čili ten strom bude binární (ale to je vlastně jedno). Důležité je si uvědomit, kolik ten strom bude mít listů, tj. kolik existuje různých konečných uspořádání těch prvků. Je to právě počet všech permutací na n prvcích, takže n!. Teď předpokládejme, že algoritmus dokáže pro každý vstup vybrat ten správný list. Kolik musel udělat porovnání v nejhorším případě? Tolik, kolik je pater ve stromu, tedy $\log_2(n!)$, zaokrouhleno nahoru.
Nakonec stačí použít třeba odhad, že $e\(\frac{n}{e}\)^n\leq n!$ a použít všechny vlastnosti logaritmu.

Offline

 

#3 08. 09. 2013 22:25

panak
Zelenáč
Příspěvky: 8
Reputace:   
 

Re: Dokažte složitos O(nlogn)

↑ Bati:
Tak ten poslední řádek mi moc neříká.. ale pokud jde o složitosti, $\log_{2}n!$ se už trochu dá považovat za n*logn ne?

Offline

 

#4 08. 09. 2013 22:53

Bati
Příspěvky: 2469
Reputace:   192 
 

Re: Dokažte složitos O(nlogn)

↑ panak:
To se dá. Ten poslední řádek je návod jak zdůvodnit proč se to dá. Ta nerovnost tam jde dokázat indukcí, ale postačí skoro jakákoliv slabší nerovnost pro faktoriál.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson