Recomandat, 2020

Alegerea Editorului

Diferența dintre sortarea inserției și sortarea selecției

Tipul de sortare și selecția de sortare sunt tehnicile utilizate pentru sortarea datelor. Sortarea sortimentului de sortare și sortare a selecției pot fi diferențiate prin metoda pe care o folosesc pentru sortarea datelor. Sortarea de inserare introduce valorile într-un fișier presorted pentru a sorta un set de valori. Pe de altă parte, sortarea de selecție găsește numărul minim din listă și sortează-l într-o anumită ordine.

Sortarea este o operație de bază în care elementele unei matrice sunt aranjate într-o anumită ordine specifică pentru a spori capacitatea de căutare. Cu cuvinte simple, datele sunt sortate astfel încât să poată fi ușor căutate.

Diagramă de comparație

Bazele de comparațieInserție SortareSelectare sortare
De bază
Datele sunt sortate inserând datele într-un fișier sortat existent.Datele sunt sortate prin selectarea și plasarea elementelor consecutive în locația sortată.
Natură
GrajdInstabil
Proces de urmat
Elementele sunt cunoscute în prealabil în timp ce locația pentru a le plasa este căutată.Locația este cunoscută anterior în timp ce elementele sunt căutate.
Date imediate
Tipul de inserție este o tehnică de sortare live care se poate ocupa de date imediate.Nu se poate ocupa de date imediate, ci trebuie să fie prezentă la început.
Cel mai bun caz de complexitatePe)O (n2)

Definiția Insertion Sort

Inserția de sortare funcționează prin introducerea setului de valori în fișierul sortat existent. Construiește matricea sortată prin introducerea unui singur element la un moment dat. Acest proces continuă până când seria întreagă este sortată într-o anumită ordine. Conceptul principal din spatele sortului de inserție este introducerea fiecărui element în locul corespunzător din lista finală. Metoda de sortare a inserției salvează o cantitate eficientă de memorie.

Lucrul la sortarea inserției

  • Utilizează două seturi de rețele în care se stochează datele sortate și altele pe datele nesortate.
  • Algoritmul de sortare funcționează până când există elemente în setul nesortat.
  • Să presupunem că există elemente "n" în matrice. Inițial, elementul cu indexul 0 (LB = 0) există în setul sortat. Elementele rămase sunt în partiția nesortată a listei.
  • Primul element al porțiunii nesortate are indicele matricei 1 (dacă LB = 0).
  • După fiecare repetare, se alege primul element al partiției nesortate și se introduce în locul corespunzător din setul sortat.

Avantajele sortului de introducere

  • Ușor de implementat și foarte eficient atunci când este utilizat cu seturi de date mici.
  • Cerința suplimentară de spațiu de memorie pentru sortarea inserției este mai mică (de exemplu, O (1)).
  • Este considerată tehnică de sortare vii, deoarece lista poate fi sortată după primirea elementelor noi.
  • Este mai rapid decât alți algoritmi de sortare.

Exemplu:

Definiția selecție Sortare

Selecția de selecție efectuează sortarea prin căutarea numărului minim de valoare și plasarea acesteia în prima sau ultima poziție în funcție de ordine (ascendentă sau descendentă). Procesul de căutare a cheii minime și plasarea acesteia în poziția corectă este continuat până când toate elementele sunt plasate în poziția corectă.

Funcționarea sortimentului de selecție

  • Să presupunem că array ARR cu elemente N din memorie.
  • În prima trecere, se caută cea mai mică cheie împreună cu poziția ei, atunci ARR [POS] este schimbată cu ARR [0]. Prin urmare, ARR [0] este sortat.
  • În cea de-a doua trecere, poziția celei mai mici valori este determinată în submarirea elementelor N-1. Înlocuiți ARR [POS] cu ARR [1].
  • În pasul N-1, același proces este efectuat pentru a sorta numărul de elemente N.

Exemplu:

Diferențe cheie între sortarea inserției și sortarea selecției

  1. Modul de inserare efectuează de obicei operația de inserare. Dimpotrivă, selecția selectivă realizează selectarea și poziționarea elementelor necesare.
  2. Se consideră că tipul de inserție este stabil, în timp ce sortarea selecției nu este un algoritm stabil.
  3. În algoritmul de sortare a inserției, elementele sunt cunoscute anterior. În schimb, sortarea de selecție conține locația în prealabil.
  4. Tipul de inserare este o tehnică de sortare live în care elementele care sosesc sunt sortate imediat în listă, în timp ce sortarea selecției nu poate funcționa bine cu datele imediate.
  5. Tipul de inserție are timpul de funcționare O (n) în cel mai bun caz. Spre deosebire de cel mai bun caz, complexitatea timpului de selecție este O (n2).

Complexitatea tipului de inserție

Cea mai bună complexitate a cazului de sortare a inserției este O (n) ori, adică atunci când matricea este ordonată anterior. În același mod, atunci când matricea este sortată în ordine inversă, primul element al matricei nesortate trebuie comparat cu fiecare element din setul sortat. Deci, în cel mai rău caz, timpul de execuție al sortului de inserție este patrat, adică O (n2) . În medie, de asemenea, trebuie să facă comparațiile minime (k-1) / 2. Prin urmare, cazul mediu are, de asemenea, un timp de funcționare quadratic O (n2).

Complexitatea selecției de selecție

Cum funcționarea selecției, sortarea nu depinde de ordinea inițială a elementelor din matrice, deci nu există o mare diferență între complexitatea celei mai bune cazuri și cel mai rău caz de selecție.

Selecția selecției selectează elementul valoare minimă, în procesul de selectare toate elementele "n" sunt scanate; prin urmare, n-1 comparații se fac în prima trecere. Apoi, elementele sunt schimbate. În mod similar, în a doua trecere, de asemenea, pentru a găsi al doilea cel mai mic element avem nevoie de scanarea elementelor n-1 de odihnă și procesul este continuat până la sortarea întregii matrice.

Astfel, complexitatea timpului de rulare a sortimentului de selecție este O (n2) .
= (n-1) + (n-2) + ......... + 2 + 1
= n (n-1) / 2 = 0 (n2)

Concluzie

Între ambele algoritmi de sortare, sortarea de inserție este rapidă, eficientă, stabilă, în timp ce sortarea selecției funcționează eficient numai când este implicat un set mic de elemente sau lista este parțial ordonată anterior. Numărul de comparații realizate prin sortarea selecției este mai mare decât mișcările efectuate, în timp ce în sortarea introducerii numărul de repetări sau modificări ale unui element este mai mare decât comparațiile efectuate.

Top