Made & Designed By Ciprian Ursulean. All Rights Reserved
Sortarea prin insertie (insert sort) Reprezentare grafica:
Fie tabloul unidimensional v de lungime n = 8
// int v[8] = {6, 5, 3, 1, 8, 7, 2, 4};
Sortarea prin insertie complexitate patratica O(n ^ 2)
Principiul functionarii sortarii prin insertie
Algoritmul de sortare prin insertie construieste pas cu pas
lista elementelor sortate, adaugand la ea cate un element la un moment dat. La fiecare pas un element este extras din lista initiala si este introdus in lista cu elementele sortate. Elementul este inserat pe pozitia corecta in lista sortata, astfel incat ea sa ramana sortata in continuare. Concluzii - Sortarea prin insertie Metoda sortarii prin insertie este una destul de eficienta, in special daca este folosita pe un numar relativ mic de elemente.
Ea are o complexitate patratica (O(n ^ 2))
In practica, se dovedeste a fi mai rapida decat alte metode
de sortare (bubble sort, select sort) dar si mai inceata
decat merge sort si quick sort.
Sortarea prin interclasare (merge sort) Reprezentare grafica:
Fie tabloul unidimensional v de lungime n = 8
// int v[8] = {6, 5, 3, 1, 8, 7, 2, 4};
Principiu functionarii sortarii prin interclasare
Metoda de sortare prin interclasare se bazeaza pe tehnica
Divide et impera, astfel: impartim vectorul pana ajungem la
secvente de lungime 1 sau 2. Daca lungimea este 1 elementul este deja sortat si il putem interclasa cu alta secventa ordonata, iar daca lungimea secventei este 2 si numerele nu sunt ordonate, le interschimbam. Acest lucru se fare recursiv, realizandu - se o sortare eficienta. Concluzii - Sortarea prin interclasare Metoda sortarii prin interclasare este una dintre cele mai rapide metode de sortare. Acest algoritm de sortare este o aplicatie a metodei de programare Divide et impera.
Aceasta metoda de sortare este eficienta si in cazul in care
sortam numere relativ multe, dar si relativ putine.
Complexitatea sortarii prin interclasare este de O(n * logn)
dar poate ajunge si la O(n ^ 2) in functie de caz.
Sortarea rapida (quick sort)
Reprezentare grafica:
Fie tabloul unidimensioal v de lungime n = 8
// int v[8] = {6, 5, 3, 1, 8, 7, 2, 4};
Complexitatea sortarii rapide este logaritmica O(n * logn)
Principiul de functionare al sortarii rapide
Sortarea rapida are la baza existenta unui pivot, element
care isi pastreaza ordinea in vectorul deja ordonat, astfel elementele mai mici decat pivotul vor fi in stanga sa iar cele mai mari in dreapta sa. Este esential ca prelucrarea elementelor in raport cu pivotul sa se realizeze in mod linear (O(n)).
La fel ca sortarea prin interclasare, si sortarea rapida se
bazeaza pe tehnica divide et impera Concluzii - Sortarea rapida
In momentul de fata, sortarea rapida este cea mai eficienta
sortare din lume, avand o complexitate logaritmica (O(n * logn)). Aceasta este folosita in special pentru sortarea unui numar relativ mare de elemente, datorita faptului ca este foarte rapida. Concluzii ale eficientei sortarilor
Cea mai performanta sortare, de departe este sortarea
rapida, dovedindu-se mai rapida decat cea prin interclasare cu aproximativ 30 % in testele efectuate. Sortarea prin insertie s-a dovedit cea mai inceata dintre sortarile testate. Echipamente de test