Selectie Sorteer Javascript

| | | | | | | |

Java-sorteerselectie vindt het kleinste item in een lijst en verplaatst die waarde naar de bovenkant van de lijst. Dit gebeurt herhaaldelijk totdat alle items in de eerste lijst zijn gesorteerd. Sorteren van de selectieresultaten van de gesorteerde lijst.

Hoe heb je een lijst in Java gesorteerd? Je hebt een paar opties. Een veelgebruikte optie is sorteren op selectie.

In deze handleiding gaan we het hebben over wat sorteren is en hoe het werkt. We zullen u ook laten zien hoe u een soort selectie in Java kunt maken, zodat u weet hoe u uw eigen selectie kunt maken. Laten we beginnen!

Wat voor soort Java-selectie?

Een sorteerselectie vindt herhaaldelijk het minimumitem in een lijst en verplaatst het naar het begin van ongesorteerde items in de lijst. Dit proces wordt herhaald voor elk item in een lijst totdat de lijst is gesorteerd.

Het eerste element in de lijst wordt als het kleinste element beschouwd. Dit item wordt vergeleken met het volgende item. Als het volgende element kleiner is, de wisselelementen. Dit algoritme vindt het minimale element totdat het laatste element is bereikt. Dan plaatst ons programma het kleinste item bovenaan de lijst.

In een soort selectie bestaat een lijst uit twee delen:. De gesorteerde lijst en de ongesorteerde lijst. Als items worden gesorteerd, worden ze ongesorteerd van de subtabel naar de subtabel verplaatst.

U kunt een lijst in oplopende of aflopende volgorde sorteren.

Als u sorteert op zou moeten selectie?

Selectietypes zijn optimaal wanneer u een kleine lijst moet sorteren. Er zijn inderdaad efficiëntere manieren om grote lijsten te sorteren. Algoritmen, zoals merge sort , insert sort en fast sort, zijn efficiënter dan select sort in Java-programmering

Eén type selectie werkt het beste wanneer n het controleren van alle array-elementen is vereist. Dit zou het geval zijn als weinig of geen van de items in een lijst zijn gesorteerd. Selectiesorteringen vervangen over het algemeen een sorteerballon, wat gemakkelijker te begrijpen is.

Hoe werken selectietypes?

Het heeft geen zin om te proberen een algoritme in Java te implementeren zonder eerst te weten wat het is wat we willen dat ons algoritme doet. Laten we beginnen met het volgen van de stappen van een selectie die sorteert om een lijst in volgorde te sorteren

Houd rekening met het volgende ongeordende tabel:

17 14 9 12

Selectie sorteren stelt het eerste item in als het kleinste item in de lijst. een tijdelijke waarde die verandert telkens wanneer ons programma een vergelijking maakt. Deze waarde wordt opgeslagen in zijn eigen variabele.

minimum = 17


17 14 9 < / td> 12

Het "minimum" element wordt vergeleken met het tweede element Dit element bevindt zich in het ongeordende deel van het netwerk; .. elk item na de gesorteerde items is ongesorteerd

Stel dat het tweede item kleiner is dan "item" m inimo ". In dit geval wordt de waarde van het "minimum" element "-element ingesteld op de waarde van het tweede element. 14 is minder dan 17, onze nieuwe minimumwaarde wordt 14.

minimum = 14


17 14 9 12

Dit proces wordt herhaald voor elk item in onze lijst. 9 is minder dan 14. Dus de "minimale" waarde wordt 9. 9 is niet minder dan 12, dus de minimumwaarde blijft hetzelfde.

Na iteratie bleek uit onze lijst dat 9 het kleinste getal is. Dit element wordt bovenaan de lijst geplaatst:

Dit proces begint opnieuw vanaf het eerste ongesorteerde item. Dus onze volgende reeks vergelijkingen zou beginnen met 17:

  • 17 is gelijk aan het minimum
  • Ons programma vergelijkt 17 met 14. De "minimale" waarde. Wordt 14.
  • Ons programma vergelijkt 14 met 12. de waarde van "minimum" wordt 12.
  • Ons programma passeert 12 aan het einde van de gesorteerde items in de lijst.
  • li>

Onze lijst ziet er als volgt uit:

9 17 14 12
9 12 17 14

Dit proces herhaalt zich totdat onze lijst is besteld. Wanneer ons algoritme klaar is met uitvoeren, wordt de volgende lijst geretourneerd:

9 12 14 17

Onze lijst is in oplopende volgorde gesorteerd.

Een soort selectie maken in Java

Het is één ding om te weten hoe een soort selectie werkt; het is een andere constructie. Code om een geselecteerde sorteervolgorde in Java achter te laten die de logica gebruikt die is besproken in de walkthrough

Instelling up het programma

Maak een bestand met de naam selection_sort.java. We beginnen met het importeren van de Java Arrays-bibliotheek in onze code:

We gebruiken deze bibliotheek later in onze code. we gebruiken het om ons gesorteerde bereik naar een string te converteren, zodat we het naar de console kunnen afdrukken.

Creëer sorteerfunctie

Vervolgens zullen we een klasse declareren en zullen we een methode maken om onze sorteerselectie te maken Voeg het volgende toe aan uw bestand selection_sort.java:.

In onze klas hebben we een methode gedefinieerd met de naam sortNumbers die onze sortering doet. Laten we beginnen met het berekenen van de lengte van onze array. We slaan de lengte van onze array op in een Java -variabele.

Vervolgens maken we een LUCRATIEVE Java-lus . Deze cyclus doorloopt elk item op onze lijst. Binnen deze lus bevindt zich het minimumelement, dat het eerste element in de lijst is

Vervolgens voeren we nog een lus uit om het minimumelement te vergelijken met elk element in de lijst.

Als het door de lus gelezen getal kleiner is dan het minimumaantal, de "minimale" waarde wordt dat getal. In onze lus vertegenwoordigt "getal" de waarde van de index van het getal waarmee we de minimumwaarde vergelijken.

Zodra het minimum aantal is vergeleken met elk nummer in de lijst, onze lus voor interne stops. Het minimum aantal wordt dan verplaatst na alle gesorteerde nummers in de lijst.

Bel de sorteerfunctie

Onze code doet nog niets We hebben onze klasse nog niet aangeroepen en hebben een lijst gegeven om te sorteren

Voeg in de methode sortNumbers in de lijst de volgende code toe:.

In onze hoofdmethode hebben we een lijst van type-elementen gedeclareerd genaamd toSort. Vervolgens initialiseren we een instantie van onze SelectionSort-klasse met de naam newSort. We gebruiken het om onze sortNumbers methode aan te roepen, die de waarden sorteert in de array toSort

Na methode sortNumbers wordt uitgevoerd, printen we de gesorteerde array naar de console. We doen dit met behulp van de Arrays.toString () methode, die onze array converteert naar een lijst met strings.

Laten we uitvoeren onze code:

Onze lijst is gesorteerd

Selecteer Sorteer Java: Sorteer waarden ‚Äã‚Äãin aflopende volgorde

Het is interessant op te merken dat u de waarden kunt sorteren. in aflopende volgorde Vervang hiervoor de volgende regel code in uw sortNumbers-methode:

Met deze code:

Deze code controleert of de "minimale" waarde groter is dan de toegang voor de lus. Dit betekent dat de "minimale" waarde de hoogste waarde in een lijst weergeeft in plaats van de laagste waarde.

Om verwarring te voorkomen, moet u de naam "minimum" wijzigen in "maximum" als u een lijst sorteert in aflopende volgorde.

Dat heb je gedaan. U hebt een lijst in Java afgestemd met behulp van sorteren op het selectie-algoritme.

Hoe complex is een sortering op Java-selectie?

Er zijn drie complexiteiten waarmee we rekening moeten houden bij het evalueren van een algoritme. het beste van gevallen, het slechtste geval en het gemiddelde geval

sortering selectie complexiteit van het beste, gemiddelde en slechtste geval van O (n ^ 2). Dit betekent dat het algoritme exponentieel meer nodig heeft naarmate het aantal items in een lijst groeit.

Ben je in de war door de complexiteit van de algoritmen? Bekijk onze tweedelige serie over Big O-notatie . Dit is de notatie die we gebruiken om de complexiteit van algoritmen te beschrijven.

Conclusie

Selectiesorteringen zijn een effectieve manier om gegevenslijsten te sorteren. Ze werken door het kleinste item uit een ongesorteerde lijst te selecteren en het naar de bovenkant van de ongesorteerde lijst te verplaatsen. Dit proces herhaalt zich totdat de lijst is gesorteerd.

Is - wat je een Java-ontwikkelaar wilt worden? Bekijk onze Java-leergids .In deze gids vindt u de beste leertips en advies over de beste online cursussen en leermiddelen.