Huis Persoonlijke financiën Hoe werkt de QuickSort-techniek in Java? - dummies

Hoe werkt de QuickSort-techniek in Java? - dummies

Video: Week 4 2024

Video: Week 4 2024
Anonim

Hier kom je te weten hoe een van de meest gebruikte sorteertechnieken in Java eigenlijk werkt. Deze techniek wordt Quicksort, genoemd en het is een zeer ingenieus gebruik van recursie.

Voor de meesten van ons is het uitzoeken hoe sorteringsalgoritmen zoals QuickSort werken slechts een intellectuele oefening. De Java API heeft sortering al ingebouwd.

De QuickSort-techniek sorteert een reeks waarden met behulp van recursie. De basisstappen zijn dus:

  1. Kies een willekeurige waarde die binnen het bereik van waarden in de array ligt.

    Deze waarde is het draaipunt . De meest gebruikelijke manier om het draaipunt te kiezen, is door simpelweg de eerste waarde in de array te kiezen. Mensen hebben een doctorstitel geschreven over meer verfijnde manieren om een ​​draaipunt te kiezen dat resulteert in snellere sortering. Blijf bij het gebruik van het eerste element in de array.

  2. Herschik de waarden in de array zo dat alle waarden die minder zijn dan het draaipunt zich aan de linkerkant van de array bevinden en alle waarden die groter zijn dan of gelijk zijn aan het draaipunt zich aan de rechterkant van de array bevinden. matrix.

    De spilwaarde geeft de grens aan tussen de linkerkant en de rechterkant van de array. Het zal waarschijnlijk geen dood punt zijn, maar dat doet er niet toe. Deze stap wordt partitionering, genoemd en de linker- en rechterzijde van de arrays zijn partities.

  3. Behandel nu elk van de twee secties van de array als een afzonderlijke array en begin opnieuw met stap 1 voor die sectie.

    Dat is het recursieve deel van het algoritme.

Het moeilijkste onderdeel van het QuickSort-algoritme is de partitioneringsstap, die de partitie opnieuw moet rangschikken, zodat alle waarden die kleiner zijn dan het draaipunt zich aan de linkerkant bevinden en alle elementen groter zijn dan het draaipunt punt zijn aan de rechterkant. Stel dat de array deze tien waarden heeft:

38 17 58 22 69 31 88 28 86 12

Hier is het draaipunt 38 en de taak van de partitioneringsstap is om de array anders in te delen: < 17 12 22 28 31 38 88 69 86 58

Merk op dat de waarden nog steeds niet in orde zijn. De array is echter verdeeld over de waarde 38: alle waarden die kleiner zijn dan 38 bevinden zich links van 38 en alle waarden die groter zijn dan 38 bevinden zich rechts van 38.

Nu kunt u de waarden splitsen matrix in twee partities op de waarde 38 en herhaal het proces voor elke zijde. De spilwaarde zelf hoort bij de linkerdeel, dus de linker partitie is deze:

17 12 22 28 31 38

Deze keer kiest de partitioneringsstap 17 als draaipunt en herschikt de elementen als volgt: > 12 17 22 28 31 38

Zoals u kunt zien, is dit gedeelte van de array nu gesorteerd.Helaas beseft Quicksort dat op dit moment nog niet, dus het vergt nog een paar herhalingen om zeker te zijn. Maar dat is het basisproces.

Hoe werkt de QuickSort-techniek in Java? - dummies

Bewerkers keuze

Hoe u Flash-video maakt en codeert - dummies

Hoe u Flash-video maakt en codeert - dummies

Als de pagina's die u maakt, zijn gewonnen ' t kan worden bekeken op mobiele apparaten (zoals een iPad of een smartphone), kunt u webpagina's maken met prachtige Flash-video. Adobe Flash Professional CS6 heeft een eigen ingebouwde video-encoder. Full-motionvideo in Flash is iets heel moois. U past de video aan voor het bekijken door de doelgroep ...

Hoe een aanpasbare interface te maken in CSS3 - dummies

Hoe een aanpasbare interface te maken in CSS3 - dummies

De grote variëteit en soorten schermen gebruikt om informatie weer te geven, maakt het nodig dat uw CSS3-commando's de gebruiker toestaan ​​om het formaat van de elementen naar wens aan te passen. In de meeste gevallen kunt u de gebruiker eenvoudig toestaan ​​om het element op elke gewenste grootte te maken. Er kunnen zich echter situaties voordoen waarin u de grootte van de grootte moet controleren ...

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Tabellen laten u organiseer informatie op uw webpagina en geef het een georganiseerde uitstraling die uw bezoekers nuttig zullen vinden. Bij gebruik zoals bedoeld, hebben tabellen rijen en kolommen. Voor elke spot waar een rij en kolom elkaar kruisen, hebt u een tabelcel. Elke cel kan zijn eigen opmaak hebben: de gegevens erin ...

Bewerkers keuze

Hoe Postproduction Shareninging Filters werken - dummies

Hoe Postproduction Shareninging Filters werken - dummies

Verscherpingsfilters werken in postproductie door de randen (of aangrenzende gebieden met tonaal contrast) te benadrukken aan elkaar) in een afbeelding. Ze creëren een fijne highlight aan de donkere kant van de rand en een piepklein lowlight aan de lichtere kant van de rand. Dit toegevoegde contrast zorgt ervoor dat de randen er scherper uitzien vanaf een ...

HDR Work-Flow voor foto's met één belichting - dummies

HDR Work-Flow voor foto's met één belichting - dummies

In grote lijnen, enkele belichting hoog dynamisch bereik volgt dezelfde workflow als HDR-fotografie tussen haakjes. Er kunnen kleine verschillen zijn, dus hier is een overzicht van de werkstroom: configureer uw camera voor single-shot HDR. Het enige dat u zoekt, is de beste foto die u kunt maken. Besteed aandacht aan de lichtomstandigheden, het onderwerp, beweging en ...

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Stap omhoog van compacte digitale camera's binnen het budgetbereik, vindt u duurdere compacte digitale camera's voor HDR-fotografie, ook wel high-end compacts, superzoomlenzen en dSLR-look-alikes genoemd. Er zijn zoveel vaak overlappende categorieën dat het je hoofd laat draaien. De twee dingen die deze reeks camera's gemeen hebben, zijn hun ...

Bewerkers keuze

In te schakelen Class Tracking in QuickBooks 2013 - dummies

In te schakelen Class Tracking in QuickBooks 2013 - dummies

Om activity-based costing te gebruiken (ABC ) in QuickBooks 2013 moet u de QuickBooks Class Tracking-functie inschakelen. Met Class Tracking kunt u inkomsten- en onkostentransacties categoriseren als niet alleen vallen in inkomsten- en uitgavenrekeningen, maar ook als vallen in bepaalde klassen. Volg deze stappen om Class Tracking in QuickBooks in te schakelen: Kies Bewerken → Voorkeuren ...

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Ongeacht of de client verzendt handmatig een accountantskopie van een QuickBooks-gegevensbestand, e-mails een accountantsexemplaar, of verzendt een accountantskopie via de Intuit-bestandsoverdrachtservice, u gebruikt de kopie van de accountant door Bestand → Verzend bedrijfsdossier → Accountantskopie → Open & converteer overzetten te kiezen Bestand commando. Wanneer u deze opdracht kiest, geeft QuickBooks een ...

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Als u besluit om meerdere gebruikers toegang te geven tot de QuickBooks-gegevens bestand, zult u de QuickBooks Audit Trail-functie waarderen, die bijhoudt wie welke wijzigingen aan het QuickBooks-gegevensbestand aanbrengt. U kunt transacties niet verwijderen uit de lijst of geschiedenis van de audittrail, behalve door gegevens te archiveren en te condenseren. Audit trail inschakelen ...