Obliczyć czas działania na podstawie kodu

Michaju
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 19 mar 2011, o 23:10
Płeć: Mężczyzna
Lokalizacja: Warszawa

Obliczyć czas działania na podstawie kodu

Post autor: Michaju »

Oblicz czas działania:
a)

Kod: Zaznacz cały

for(i=0;i<n-1;i++)
           {
            small=i;
            for(i=0;i<n-1;i++)
                 if(A[j]<A[small];
                 small=j;
            temp=A[small];
            A[small]=A[i];
            A[i]=temp;
            }
b)

Kod: Zaznacz cały

scanf("%d",&n);
       for(i=0;i<n;i++)
       {
              for(j=0;j<n;j++)
              { A[i][j]=1}
              else
              { A[i][j]=0 }
       }
Ostatnio zmieniony 31 mar 2011, o 20:00 przez Afish, łącznie zmieniany 1 raz.
Powód: Nie pogrubiaj, tylko umieszczaj w znacznikach code.
Awatar użytkownika
Errichto
Użytkownik
Użytkownik
Posty: 1629
Rejestracja: 17 mar 2011, o 18:55
Płeć: Mężczyzna
Lokalizacja: Suwałki
Podziękował: 28 razy
Pomógł: 272 razy

Obliczyć czas działania na podstawie kodu

Post autor: Errichto »

Rozumiem, że od tak sobie wpisałeś chaotycznie parę linijek kodu?
Bo średniki, nawiasy, if brakuje...

O czym mówisz pisząc czas działania?
Na podstawie czegoś takiego nie da się policzyć czasu działania programu.
Zależy przecież od wielkości \(\displaystyle{ n}\).

Zapewne chodzi Ci o złożoność, więc:
a) Jeśli w drugiej pętli powinno być \(\displaystyle{ j}\) zamiast \(\displaystyle{ i}\) to\(\displaystyle{ n^2}\) - mamy pętlę \(\displaystyle{ n}\), a w niej druga pętla \(\displaystyle{ n}\), razem \(\displaystyle{ n \cdot n}\). W przeciwnym wypadku \(\displaystyle{ n}\).
b) Też \(\displaystyle{ n^2}\).
ODPOWIEDZ