Sortarea prin sortare prin Bubble vs Insertion Sort
Tipul de tip "bubble" este un algoritm de sortare care operează prin trecerea prin listă pentru a fi sortată în mod repetat în timp ce compară perechi de elemente care sunt adiacente. Dacă o pereche de elemente este în ordine greșită, ele sunt schimbate pentru a le plasa în ordinea corectă. Acest traversal se repetă până când nu sunt necesare alte schimburi. Modul de inserare este, de asemenea, un algoritm de sortare, care funcționează prin introducerea unui element în lista de intrări în poziția corectă într-o listă deja tridimensionată. Acest proces este aplicat în mod repetat până când lista este sortată.
Ce este Bubble Sort?
Tipul de tip "bubble" este un algoritm de sortare care operează prin trecerea prin listă pentru a fi sortată în mod repetat în timp ce compară perechi de elemente care sunt adiacente. Dacă o pereche de elemente este în ordine greșită, ele sunt schimbate pentru a le plasa în ordinea corectă. Acest traversal se repetă până când nu sunt necesare alte schimburi de swap (ceea ce înseamnă că lista este sortată). Din moment ce elementele mai mici din listă ajung la vârf, pe măsură ce un balon ajunge la suprafață, este dată sortarea bulei de nume. Tipul de tip Bubble este un algoritm foarte simplu de sortare, dar are o complexitate medie de timp a cazului O (n2) atunci când sortează o listă cu n elemente. Din acest motiv, sortarea cu bule nu este potrivită pentru sortarea listelor cu un număr mare de elemente. Dar, datorită simplității sale, sortarea bulelor este predată în timpul introducerii algoritmilor.
Ce este Insertion Sort?
Modul de inserare este un alt algoritm de sortare, care funcționează prin introducerea unui element în lista de intrări în poziția corectă dintr-o listă (care este deja sortată). Acest proces este aplicat în mod repetat până când lista este sortată. În sortarea inserției, sortarea se efectuează pe loc. Prin urmare, după i-a repetarea algoritmului, primele i + 1 intrări din listă vor fi sortate, iar restul listei vor fi nesortate. La fiecare iterație, primul element din partea nesortată a listei va fi luat și introdus în locul corect în secțiunea sortată a listei. Tipul de inserție are o complexitate medie de timp a cazului O (n2). Din acest motiv, sortarea inserției nu este de asemenea potrivită pentru sortarea listelor mari.
Care este diferența dintre sortarea bubble și sortarea inserției?
Chiar dacă algoritmii de sortare și sortare a balonului au complexitatea medie a timpului de caz al lui O (n2), sortarea cu bule este aproape tot timpul depășită de tipul de inserție. Acest lucru se datorează numărului de swap-uri necesare celor doi algoritmi (tipurile de bule au nevoie de mai multe swap-uri). Dar, datorită simplității sortimentului de bule, dimensiunea codului este foarte mică. Există, de asemenea, o variantă de sortare de inserție numită sortare de coajă, care are o complexitate de timp O (n3 / 2), ceea ce ar permite utilizarea acesteia practic. În plus, sortarea inserției este foarte eficientă pentru sortarea listelor "sortate", în comparație cu sortarea cu bule.