Snelle sorteren (6 / 7 stap)

Stap 6: Uitvoering van quick_sort


Achtergrond

Nu dat we hebben geschreven de functie die het grootste deel van het werk doet, kunnen we naar het makkelijke gedeelte. Onze quick_sort functie is zeer gemakkelijk te begrijpen en is gebaseerd op het idee dat wij willen zo weinig werken zoveel mogelijk zelf doen.

Onze eerste vraag is: wat is de makkelijkste array te sorteren? Het is in mijn mening, een met een enkel element. Wanneer u mij één nummer verlenen, kan ik het direct sorteren. Werken met dit begrip, laten we schrijven quick_sort.

Doel

Wij willen breken van het werk met behulp van onze qs_partition -functie, zodat die nooit hebben geen echte werk te verrichten.

Stappen

1) we controleren eerst als wij voorkomen werk helemaal dat kunnen. Als onze linkerrand kleiner dan onze rechterrand is, dan hebben we werk te doen, helaas. Als onze linkerrand hetzelfde als onze rechterrand is, is de sectie, die wij zijn sorteren slechts één element. Als links groter is dan recht, wij bevinden ons in een foutstatus.

2) onze volgende strategie bij werk vermijden is vertellen andere mensen om het te doen. We bellen qs_partition en krijgen van de pivot- index die het gebruikt. Zoals u uit de laatste stap weet, is om het even wat in de array voordat deze index kleiner dan of gelijk aan de waarde op het scharnierpunt. Na is alles groter dan de spil.

3) wat betekent dat? Dat betekent dat als we alles voordat het scharnierpunt en alles na het scharnierpunt sorteren, we een gesorteerde array hebben, omdat de spil al op de juiste plek is. Zo zullen wij enkel dat doen. Weten we elke sorteren algoritmen? Wij hebben quick_sort.

Beoordeling

Het lijkt erop dat we wegkomen kunnen met een echte werk niet te doen. U zult zien dat als we quick_sortnoemen, het resulteert in twee meer quick_sort oproepen, een aan iedere kant van onze pivot. Deze vertakkende gedrag wordt voortgezet totdat elke aanroep wordt uitgevoerd in een array dat is slechts één element. Aangezien een matrix met één element is gesorteerd, wordt vervolgens onze hele array gesorteerd.

Gerelateerde Artikelen

Eenvoudige delen-sorteren tabel

Eenvoudige delen-sorteren tabel

deze eenvoudige sorteer tabel is een geweldige aanvulling op shop of lab.  Nadat mijn vingers jammen in blikjes gevuld met scherpe schroeven en andere dodelijke objecten, op zoek naar enkele specifieke bout of bout, besloten heb ik eindelijk te verri
Extreme schotel wassen gemaakt gemakkelijk!

Extreme schotel wassen gemaakt gemakkelijk!

Got alot van gerechten te wassen met de hand en ze gedaan in een haast nodig? Dan is dit instructable voor jou!** De volgende instructable is mijn UITPUTTENDE lijst van trucs, tips, hacks en technieken voor het verkrijgen van--met name alot van--gere
Capacitieve bodemvocht meten (met I2C)

Capacitieve bodemvocht meten (met I2C)

Veel is geschreven over het meten van bodemvocht en vooral op welke sensor te gebruiken.Met het eenvoudige weerstand meten is het grootste probleem de corrosie van de sensor, niet alleen omdat het in contact met het bodemmonster maar ook omdat er een
Knex Coin Sorter V2

Knex Coin Sorter V2

Hallo iedereen! Ik heb al van plan dit project voor een tijdje nu: Coin Sorter versie 2! Deze sorter heeft vele nieuwe functies en verbeteringen in versie 1, met inbegrip van:Sneller sorterenGemakkelijker aan te passen voor verschillende muntenKeuzen
Geotag uw digitale Camera foto's in Lightroom met een Smartphone-GPS

Geotag uw digitale Camera foto's in Lightroom met een Smartphone-GPS

Geotagging is een proces waarmee u geografische locatie-informatie aan uw foto's metagegevens toevoegt. Bijvoorbeeld, als je nam een foto van de Golden Gate Bridge, zal een foto met een geocodering verzenden hebben de locatie van waar je nam de foto
SCHORT van de HOLDING

SCHORT van de HOLDING

iedereen heeft een Zak van de Holding deze dagen, maar niemand heeft een Schort van de Holding. Met zijn meerdere geribbelde zakken altijd gehouden open om te ontvangen, zijn verschillende zachte zakken te houden dingen sluiten en een gloeiende natuu
Definiëren van een nieuwe sorteer algoritme gebaseerd op parallelle decoderen en coderen van de latere

Definiëren van een nieuwe sorteer algoritme gebaseerd op parallelle decoderen en coderen van de latere

Een sorteeralgoritme is een algoritme om elementen van een lijst in een bepaalde volgorde zet. De meest gebruikte orders zijn numerieke volgorde en lexicografische volgorde. Efficiënt sorteren is belangrijk voor het optimaliseren van het gebruik van
Hoe om te controleren of uw buren hun e-mail ophalen als het eindigt in uw vak

Hoe om te controleren of uw buren hun e-mail ophalen als het eindigt in uw vak

dit is een gids te dragen aan een cultuur van respect in uw gebouw door ervoor te zorgen dat uw buren hun e-mail ophalen als het wind in uw mailbox. Het is een van die ongelofelijk eenvoudig dingen die de meesten van ons niet de moeite te doen, maar
Stofzuiger die zuigt... of liever niet zuigen

Stofzuiger die zuigt... of liever niet zuigen

deze rechtop reiniger was over te gaan in een afvalcontainer (dumpster), vroeg ik de worp-ee wat verkeerd was en kreeg te horen dat het niet goed schoon.  Als het leek bijna nieuw vroeg ik of ik hebben kon en dit "repareren" begon.Ik heb het hui
Het gebruik van Mp3Tag Audio bestanden te bewerken

Het gebruik van Mp3Tag Audio bestanden te bewerken

Mp3Tag is een meta-data het uitgeven hulpmiddel gebruikt voor het bewerken van verschillende aspecten van een audio-bestand, die mogelijk ontbreekt bij het downloaden van het audiobestand, zoals de Album Artist, het jaar der kwijtschelding, de dag va
Crafty kunnen sorteren sokken snel.

Crafty kunnen sorteren sokken snel.

Sokken sorteren is één van die overlast dingen die je hoeft te doen die echt eats opwaarts tijd.  Dus ik een manier gevonden om het gemakkelijker maken om opgewassen zijn sokken nadat ze uit de droger komen. Ik had niet gedacht dat om het even wat va
Snelle oplossing voor het sorteren van sleutels

Snelle oplossing voor het sorteren van sleutels

De houwer van de verf voor het differentiëren tussen de toetsen in een haast.Spray verf kiezenKleur ze nauwe afstand in een plastic zakLaat haar droger aan kant van een tas voor 5min (andere kant zet, verf & weer wachten)Leg ze op sleutelhanger en al
Metalen krijg Nou snel kaart

Metalen krijg Nou snel kaart

onlangs mijn beste vriend werd gediagnosticeerd met een ernstige ziekte en dus mij en mijn vriend Mark besloot te bouwen hem een goed metalen krijgen binnenkort kaart.Stap 1: Wat moet je Alvorens u begonnen wordt zich bewust van te zijn dit 24 uur va
Sorteren van uw stuiver pot

Sorteren van uw stuiver pot

voor de meeste banken, verzilveren in uw stuiver pot is iets wat ze slechts met tegenzin doen. U moet handmatig sorteren de munten in één denominaties. U moet handmatig zakken ze naar precieze hoeveelheden. Ook al hebben ze de high-tech, industrie-pr