Metode de sortare elementare de schimb, inserare, selecție
Există trei metode comune de sortare de matrice:
Pentru a înțelege modul în care aceste metode, imaginați-vă un pachet de cărți de joc. Pentru a sorta metoda de partajare de card. așezați-le pe masa de fața în sus și invers cartela, aranjate în nici o ordine anume, până când întreaga punte nu va fi comandat.
În metoda de alegere pune cărți de pe masă, selectați cea mai mică valoare de card și a pus-o în mână. Apoi, cărțile rămase, selectați cartela din nou cel mai puțin importanța și pune-l la una care este deja în mână. Procedeul se repetă atâta timp cât mâna nu dovedește toate cărțile; la capătul punții va fi sortat proces.
Pentru a sorta o punte de metoda de introducere. Ia toate cărțile în mână. Le puteți pune unul câte unul pe masă, fiecare introducând următoarea carte în poziția corespunzătoare. Când toate cărțile sunt pe masă, punte va fi sortate.
Inserția sortare - un algoritm de sortare simplu. Cu toate că acest algoritm este la fel de eficace ca și mai complexe (cum ar fi sortarerapidă), are o serie de avantaje:
· Eficiente pentru seturi de date mici, seturile de date cu privire la zeci de elemente pot fi mai bine;
· Eficient pentru seturile de date care sunt deja parțial sortate;
· Este un algoritm de sortare stabil (nu se schimba ordinea elementelor care sunt deja sortate);
· Puteti sorta lista cum este primită;
Minus -mare algoritm de complexitate: O (n ²)
În general vorbind, în cele mai rele cazuri, inserarea de sortare este la fel de rău ca un fel cu bule și sortarea prin alegeri, și, în medie, este doar puțin mai bine.
La fiecare pas al algoritmului vom alege unul dintre elementele de date de intrare și lipiți-l într-o nouă poziție într-o listă deja sortate, atâta timp cât setul de date de intrare este epuizat. Metoda de selectare a următorului element al șirului sursă este arbitrară; Acesta poate fi folosit în aproape orice algoritm de selecție. De obicei (și pentru a obține un algoritm de sortare stabil), elementele sunt inserate în ordinea în care apar în matrice de intrare.
Algoritmul timp de execuție depinde de datele de intrare: set mai mare pentru a fi sortate, mai mult timp sortați. De asemenea, pe durata originalului afectează ordonarea matrice. Deci, cel mai bun caz este o matrice de sortat, și cel mai rău - o matrice sortate în ordine inversă dorit. complexitate Timp în cel mai rău caz, datele de intrare - # 952; (n²).
Punerea în aplicare în Java
addingSort public void ()
pentru (Nod = javră first.next ;! javră = null; = javră cur.next)
Nod n = cur.prev;
Object val = cur.value;