Răspuns :
Algoritm de sortare prin comparare:
ex for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(a[i]>a[j])
{
int aux=a[i];
a[i]=a[j];
a[j]=aux;
}
complexitatea acestui algoritm este de O(n*n) adica O(n patrat)
Explicatii:
compara elementul de pe pozitia i cu elementele de pe pozitiile i+1->n,daca elementul de pe pozitia i (a[i]) > elementul de pe pozitia j,atunci are loc interschimbarea valorilor.
Exemplu practic:
n=4
5 3 0 1
Pas 1(i=1):
5 3 0 1 => 3 5 0 1=> 0 5 3 1
Pas 2(i=2),elementul de pe pozitiile (i-1->0 sunt sortate corect,avem de sortat doar de la i la n)
0 5 3 1=> 0 3 5 1=> 0 1 5 3
pas 3 (i=3)
0 1 5 3 => 0 1 3 5
Sper ca ti-am fost de folos!
ex for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(a[i]>a[j])
{
int aux=a[i];
a[i]=a[j];
a[j]=aux;
}
complexitatea acestui algoritm este de O(n*n) adica O(n patrat)
Explicatii:
compara elementul de pe pozitia i cu elementele de pe pozitiile i+1->n,daca elementul de pe pozitia i (a[i]) > elementul de pe pozitia j,atunci are loc interschimbarea valorilor.
Exemplu practic:
n=4
5 3 0 1
Pas 1(i=1):
5 3 0 1 => 3 5 0 1=> 0 5 3 1
Pas 2(i=2),elementul de pe pozitiile (i-1->0 sunt sortate corect,avem de sortat doar de la i la n)
0 5 3 1=> 0 3 5 1=> 0 1 5 3
pas 3 (i=3)
0 1 5 3 => 0 1 3 5
Sper ca ti-am fost de folos!
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de ajutor, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și vă încurajăm să ne salvați în lista de favorite!