Forum » Programiranje » časovna zahtevnost algoritma
časovna zahtevnost algoritma
majster123 ::
Zdravo. Ali je ta zahtevnost reda O(n)^2 ali O(n)? Hvala za odgovore :)
for(int i = 0; i<n; i++) { for(int j= 0; j<i; j++) { x++; } }
- zaklenil: Mavrik ()
black ice ::
Zanki sta vgnezdeni. O(n)^2, zakaj je tako je lepo razloženo na spodnji povezavi.
http://stackoverflow.com/questions/5267...
http://stackoverflow.com/questions/5267...
tx-z ::
Aa, ja, ni n*logn ampak O(1/2(n*(n+1)))->to se pa potem pretvori v O(n^2)
Sicer bo hitrej delal kot navaden n^2 ampak zahtevnost bo še vedno enaka.
(zaradi j je manšjši od i v drugi for zanki)
Sicer bo hitrej delal kot navaden n^2 ampak zahtevnost bo še vedno enaka.
(zaradi j je manšjši od i v drugi for zanki)
tx-z
Zgodovina sprememb…
- spremenilo: tx-z ()
joze67 ::
Če si predstavljaš, kaj ti dve zanki delata ... gresta skozi elemente n*n tabele. S tem da pogledaš samo elemente, ki imajo drugo koordinato (y) manj od prve (i). Torej dobiš zgornji desni trikotnik matrike:
Torej nisi pogledal n elementov na diagonali, od ostalih n*n-n=n(n-1) pa si pogledal natanko polovico (enega od dveh trikotnikov). Torej si pogledal n(n-1)/2 elementov.
o | x | x | ... | x |
o | o | x | ... | x |
o | o | o | ... | x |
... | ||||
o | o | o | ... | o |
Torej nisi pogledal n elementov na diagonali, od ostalih n*n-n=n(n-1) pa si pogledal natanko polovico (enega od dveh trikotnikov). Torej si pogledal n(n-1)/2 elementov.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | časovna kompleksnost-razlagaOddelek: Programiranje | 2477 (1722) | aaa1 |
» | enojno povezan seznam -izpis nazajOddelek: Programiranje | 3620 (3160) | Randomness |
» | C++, časovna zahtevnostOddelek: Programiranje | 1724 (1593) | ERGY |
» | Grafi (Kruskal, Dijkstra,...)Oddelek: Programiranje | 2383 (2266) | Realist |
» | Išče se hiter algoritem za izračun ene čudne matrične operacije.Oddelek: Znanost in tehnologija | 2195 (1686) | Thomas |