matematykaszkolna.pl
Złożoność obliczeniowa algorytmu (prog/IT) IT: Złożoność obliczeniowa algorytmu (prog/IT) Witam, mam pytanie trochę dla programisty/informatyka Z góry przepraszam że pytam tutaj, lecz myślę że ktoś mi pomoże. Pseudokod: i = 1; wykonuj: j=1; dopóki(j>1) wykonuj: j=2; i=i+1; dopóki (i<2n+1) Z moich obliczeń: pętla i zaczyna sprawdzanie od 2<2n+1, jeżeli sprawdzenie zaczyna się od 1 to zwykłą pętla(1<n) sprawdzi się n razy, jeśli od 2 to n−1, to można wywnioskować że pętla sprawdzi się 2n razy? pętla wewnętrzna sprawdzi się raz bo jest fałszem, czyli przyjmie 1*2n Czy zatem: Lz = 2n Lw = 2n Lc = 4n O(n) ?
10 gru 17:19
Pytający: Dopisz klamry, coby dało się ten pseudokod jednoznacznie zinterpretować. To są 2 pętle: wykonuj: {ciało} dopóki(warunek) czy co?
10 gru 17:33
IT: i = 1; wykonuj: { j=1; dopóki(j>1) wykonuj: { j=2; } i=i+1; } dopóki (i<2n+1) Tak są dwie pętle, pierwsza do while, druga while, dziwnie to tak zapisujemy, ale wiesz początki studiów No i tu chodzi o złożoność czyli przy i=0 while się sprawdzi n+1 przy do while n
10 gru 17:44
Pytający: Pętla wewnętrzna nigdy się nie wykona, bo tuż przed masz przypisanie j=1;. Warunek (j>1) oczywiście będzie jednokrotnie sprawdzany w każdym obiegu pętli zewnętrznej. Pętla zewnętrzna wykona się max{1,(2n+1)} razy (lub po prostu 2n+1 razy dla n≥0) i tyle samo razy będzie sprawdzony warunek (i<2n+1).
10 gru 17:53
Pytający: Wróć, nie max{1,(2n+1)} razy, tylko max{1,2n} razy (i odpowiednio po prostu 2n razy dla n≥0).
10 gru 17:56
IT : No właśnie przepraszam nie napisałem że n to bd duża liczba, ale to można się domyśleć emotka Czyli zew 2n razy się sprawdzi, a że wew tylko raz bo Fałsz czyli przyjmie 2n. Razem 4n porównan. Dziękuję, chciałem się upewnić bo niedługo kolokwium
10 gru 18:06