selection sort java selection sort algorithm examples
Denne tutorial forklarer alt om Selection Sort In Java sammen med Selection Sort Algorithm, Java Code, Implementation in Java og Java Eksempler:
Selektionssorteringsteknikken er en metode, hvor det mindste element i arrayet vælges og byttes med det første element i arrayet. Dernæst udveksles det andet mindste element i arrayet med det andet element og omvendt.
=> Tjek her for at se AZ af Java-træningsvejledninger her.
Hvad du vil lære:
Valg af sortering i Java
På denne måde vælges det mindste element i arrayet gentagne gange og placeres i sin rette position, indtil hele arrayet er sorteret.
To underarrays opretholdes til valg af sortering:
- Sorteret undergruppe: I hver iteration findes minimumselementet og placeres i sin rette position. Denne undergruppe er sorteret.
- Usorteret underarray: De resterende elementer, der ikke er sorteret.
Valgssorteringen er en ligetil og nem sorteringsteknik. Teknikken indebærer kun at finde det mindste element i hver pasning og placere det i den rigtige position. Valgssorteringen er ideel til mindre datasæt, da den sorterer det mindre datasæt effektivt.
Således kan vi sige, at valgsort ikke er tilrådeligt for større lister med data.
Valg Sorter algoritme
Den generelle algoritme for valg af sortering er angivet nedenfor:
Valgssortering (A, N)
Trin 1 : Gentag trin 2 og 3 for K = 1 til N-1
Trin 2 : Opkaldsrutine mindste (A, K, N, POS)
Trin 3 :
Byt A (K) med A (POS)
(Slut på løkke)
Trin 4 : AFSLUT
Rutinemindest mindste (A, K, N, POS)
Trin 1 : (initialiser) indstil smallestItem = A (K)
Trin 2 : (initialiser) indstil POS = K
Trin 3 :
for J = K + 1 til N -1, gentag
hvis mindsteItem> A (J)
sæt smallestItem = A (J)
indstil POS = J
(hvis slut)
(Slut på løkke)
Trin 4 : returner POS
Som du kan se, kaldes rutinen for at finde det mindste nummer, mens du krydser datasættet. Når det mindste element er fundet, placeres det i den ønskede position.
applikationer til at spionere på mobiltelefoner
Pseudokode til valg af sortering
Pseudokoden til valgsorteringsalgoritmen er angivet nedenfor.
Procedure selection_sort(array,N) array – array of items to be sorted N – size of array begin for I = 1 to N-1 begin set min = i for j = i+1 to N begin if array(j) Lad os nu illustrere sorteringen af en matrix ved hjælp af valgsortering.
Eksempel på valgsortering
Overvej følgende array, der skal sorteres som et eksempel på en valgsortering.





Nedenfor er der en tabelafbildning til illustrationen:
Usorteret liste Mindste element Sorteret liste {17,10,7,29,2} to {} {17,10,7,29} 7 {to} {17,10,29} 10 {2.7} {17.29} 17 {2,7,10) {29} 29 {2,7,10,17} {} {2,7,10,17,29}
Fra illustrationen ser vi, at det næste mindste element med hver pasning placeres i sin korrekte position i det sorterede array. Generelt skal vi sortere en matrix af N-elementer i alt N-1-passeringer i alt.
Selection Sort Implementation In Java
Lad os nu demonstrere Java-programmet til implementering af valgsortering.
import java.util.*; class Main { static void sel_sort(int numArray()) { int n = numArray.length; // traverse unsorted array for (int i = 0; i Produktion:
Oprindelig matrix: (7, 5, 2, 20, 42, 15, 23, 34, 10)
Sorteret matrix: (2, 5, 7, 10, 15, 20, 23, 34, 42)

I ovenstående java-eksempel finder vi gentagne gange det mindste element i arrayet og placerer det i det sorterede array, indtil hele arrayet er helt sorteret.
Valg Sorter sammenkædet liste i Java
Nedenfor er en sammenkædet liste, og vi skal sortere den ved hjælp af valgsortering. For at gøre dette bruger vi den rekursive tilgang til valgsortering. I stedet for at bytte datadelen af noden bytter vi knudepunkterne og justerer markørerne igen.
Så hvis den sammenkædede liste er angivet som følger:
hvordan åbner jeg en swf-fil


Nedenfor er Java-programmet, der implementerer ovenstående sortering.
// add a node to the beginning of the linked list static Node addNode( Node head_ref, int new_data) { // create a node Node newNode = new Node(); // assign data to node newNode.data = new_data; // link the node to linked list newNode.next = (head_ref); //head now points to new node (head_ref) = newNode; return head_ref; } // method to swap nodes static Node swapNodes( Node head_ref, Node curr_node1, Node curr_node2, Node prev_node) { // curr_node2 is new head head_ref = curr_node2; // realign links prev_node.next = curr_node1; // now swap next pointers of nodes Node temp = curr_node2.next; curr_node2.next = curr_node1.next; curr_node1.next = temp; return head_ref; } // sort the linked list using selection sort static Node Selection_Sort( Node head) { // only a single node in linked list if (head.next == null) return head; // minNode => node with minimum data value Node minNode = head; // prevMin => node previous to minNode Node prevMin = null; Node ptr; // traverse the list from head to last node for (ptr = head; ptr.next != null; ptr = ptr.next) { // check if current node is minimum if (ptr.next.data Produktion:
Oprindelig sammenkædet liste:
7 9 3 5 1 11
Linket liste efter sortering:
1 3 5 7 9 11

Bemærk, at vi i ovennævnte program har omdirigeret links til noderne i stedet for kun at sortere datakomponenten i noden.
Ofte stillede spørgsmål
Spørgsmål nr. 1) Hvordan fungerer valg af sortering?
Svar: Selektionssortering fungerer ved at opretholde to underarrays. Minimumselementet fra det usorterede underarray placeres i sin rette position i et sorteret underarray. Derefter placeres det næst nederste element i sin rette position. På denne måde sorteres hele arrayet ved at vælge et minimumselement under hver iteration.
Q # 2) Hvad er kompleksiteten af udvælgelsessorteringen?
Svar: Den samlede kompleksitet af udvælgelsessortering er O (nto), hvilket gør det til den algoritme, der er ineffektiv på større datasæt. Andre sorteringsteknikker er mere effektive.
Q # 3) Hvad er fordelene og ulemperne ved valg?
Svar: Selektionssortering er den stedlige sorteringsteknik, og det kræver derfor ikke yderligere lagring for at gemme mellemliggende elementer.
Det fungerer effektivt på mindre datastrukturer såvel som de datasæt, der næsten er sorteret.
Den største ulempe ved udvælgelsessorteringsteknikken er, at den fungerer meget dårligt, når størrelsen på datastrukturen øges. Det bliver ikke kun langsommere, men mindsker også effektiviteten.
Q # 4) Hvor mange swaps er der i sortimentet Selection?
Svar: Valgssorteringsteknikken tager det mindste antal swaps. For det bedste tilfælde, når arrayet er sorteret, er antallet af swaps i valgsorteringen 0.
Q # 5) Er valget sorteret hurtigere end indsættelsessorteringen?
Svar: Indsætningssortering er hurtigere og mere effektiv såvel som stabil. Valgssortering er kun hurtigere for mindre datasæt og delvist sorterede strukturer.
Konklusion
Selektionssortering er en teknik, der fungerer ved at vælge minimumselementet, mens du krydser arrayet. For hvert pas / iteration vælges det næste minimumselement i datasættet og placeres i den korrekte position.
Valgsorteringsteknikken fungerer effektivt, når antallet af elementer i datasættet er mindre, men det begynder at fungere dårligt, når størrelsen på datasættet vokser. Det bliver ineffektivt sammenlignet med de andre lignende teknikker som indsætningssortering.
I denne vejledning har vi implementeret eksempler til at sortere arrays og sammenkædede lister ved hjælp af valgsortering.
=> Besøg her for at se Java Training Series for alle.
Anbefalet læsning
- Sådan sorteres en matrix i Java - vejledning med eksempler
- Valg af sortering i C ++ med eksempler
- Java Array Length Tutorial med kodeeksempler
- MongoDB Sort () metode med eksempler
- Jagged Array In Java - Vejledning med eksempler
- Unix sorteringskommando med syntaks, indstillinger og eksempler
- Vend en matrix i Java - 3 metoder med eksempler
- JAVA-vejledning til begyndere: 100+ praktiske Java-videovejledninger








