Studiu asupra algoritmilor de sortare

28 Iunie, 2009 la 2:15 2175 afisari

Etichete : , , , ,

Acesta este Studiul facut de mine asupra Algoritmilor de Sortare! Am extras introducerea din el :

Aceasta lucrare este dedicata studiului asupra timpilor si memoriei folosite de diferite ale
algoritmilor frecvent utilizati,cat si a imbunatatirii acestor valori prin propunerea de algoritmi
noi.Vom prezenta aici si implementarile ce le ofera STL-ul(Standard Template Library) pentru
a usura implementarile algoritmilor de sortare.
[...]
Sortarea este des folosita in lucrul cu liste. Un exemplu de folosire a sortarii il reprezinta
motoarele de cautare web, care folosesc astfel de algoritmi (Google, Yahoo, MSN).
Există diferiți algoritmi de sortare : Bubble Sort , Selective Sort , Quick Sort , Heap Sort etc.
fiecare cu avantajele si dezavantajele sale. Fiecare algoritm prezentat se bazeaza pe o metoda de
sortare
[...]
Definiție : „Prin sortare inelegem algoritmul prin care putem rearanja k elemente intr-o
anumita ordine (de exemplu: in ordine lexicografica, ordine crescatoare).”
Dupa cum bine stim, fiecare algoritm de sortare are nevoie de un anumit spatiu si un anumit
timp pentru executarea algorimului. Pentru masurarea complexitatii vom folosi notatia complexitatii
„O(n)” (n reprezinta numarul de comparatii ale algoritmului). Vom citi „complexitate de n”.De
asemenea, vom folosi o notatie asemanatoare pentru a masura consumul memoriei.

Il puteti descarca de pe adresa : Studiu asupra algoritmilor de sortare

Recomandam, pe aceeasi tema

C/C++3 Comentarii
Tutoriale WEB – Concurs pentru programatori

Comentarii la "Studiu asupra algoritmilor de sortare"

  1. colaholicu says:

    misto, folositor si stupidproof. sar’na!

  2. adrian says:

    am mai gasit o greseala mica. la bubble sort, in studiul atasat de tine, se face sortarea tuturor elementelor mai putin ultimul: for(i = 0; i < n-1; i++) parcurge de la 0 la n-2 adik, de la 1 la n-1, adik doar primele n-1 elemente .. ar trebui for(i = 0; i < n; i++). sper ca nu-s prea enervant .. :) .. dar azi m-am pus pe invatat .. si as vrea sa fie corect totul pe aici. faci o treaba foarte buna pe aici din cate vad.(e prima data cand intru pe situl asta .. si-mi place). bafta

  3. Ma bucur adrian ca incerci sa inveti.In fond invatam impreuna, probabil diferenta dintre varsta dintre noi e mica. :)

    Dar, din pacate aici te pot contrazice.

    Sa analizam putin :

    for(i = 0; i < n-1; i++)
      if(a[i] < a[i+1])
    

    Imagineaza-ti ca n = 3, iar dupa spusele tale ar fi acolo < = n-1. Ultimul pas in acea situatie ar fi fost i = 2 da?

    Mai jos avem a[i] < a[i+1] => a[2] < a[3] , dar a[3] nu exista , deci am fi “depasit” valorile definite.

Lasa un comentariu