Hjem Personlig finansiering Hvordan virker Quicksort-teknikken i Java? - dummies

Hvordan virker Quicksort-teknikken i Java? - dummies

Video: Week 4 2024

Video: Week 4 2024
Anonim

Her finder du ud af, hvordan en af ​​de mest anvendte sorteringsteknikker i Java faktisk fungerer. Denne teknik kaldes Quicksort, , og det er en meget genial brug af rekursion.

For de fleste af os finder vi ud af, hvordan sorteringsalgoritmer som Quicksort-arbejde kun er en intellektuel øvelse. Java API'en har allerede indbygget sortering.

Quicksort-teknikken sorterer en række værdier ved hjælp af rekursion. Dets grundlæggende trin er således:

  1. Vælg en vilkårlig værdi, der ligger inden for rækkevidden af ​​værdier i arrayet.

    Denne værdi er pivot punkt . Den mest almindelige måde at vælge pivot punkt på er at vælge den første værdi i arrayet. Folk har skrevet ph.d.-grader på mere sofistikerede måder at vælge et pivot punkt, der resulterer i hurtigere sortering. Stick med at bruge det første element i arrayet.

  2. Omregistrer værdierne i arrayet, så alle værdier, der er mindre end drejepunktet, er på venstre side af arrayet, og alle værdier, der er større end eller lig med drejepunktet, er på højre side af array.

    Den pivotværdi angiver grænsen mellem venstre og højre side af arrayet. Det er nok ikke dødsted, men det betyder ikke noget. Dette trin kaldes partitionering, og venstre og højre side af arrayerne er partitioner.

  3. Behandl nu hver af de to sektioner af arrayet som et separat array, og start over med trin 1 for den sektion.

    Det er den rekursive del af algoritmen.

Den hårdeste del af Quicksort-algoritmen er partitioneringstrinnet, som skal omarrangere partitionen, så alle værdier, der er mindre end drejepunktet, er til venstre og alle elementer, der er større end drejepunktet punkt er til højre. Antag, at arrayet har disse ti værdier:

38 17 58 22 69 31 88 28 86 12

Her er pivotpunktet 38, og opgavet for opdelingstrinnet er at omarrangere arrayet til noget som dette: < 17 12 22 28 31 38 88 69 86 58

Bemærk, at værdierne stadig ikke er i orden. Opstillingen er imidlertid blevet opdelt omkring værdien 38: Alle værdier, der er mindre end 38, er til venstre for 38, og alle værdier, der er større end 38, er til højre for 38.

Nu kan du opdele array i to partitioner ved værdien 38 og gentag processen for hver side. Drejeværdien selv går med venstre partition, så den venstre partition er denne:

17 12 22 28 31 38

Denne partition vælger partitionstrinnet 17 som drejepunkt og omorganiserer elementerne som følger: > 12 17 22 28 31 38

Som du kan se, er denne del af arrayet sorteret nu.Desværre er Quicksort ikke klar over, at på dette tidspunkt, så tager det nogle få rekursioner helt sikkert. Men det er den grundlæggende proces.

Hvordan virker Quicksort-teknikken i Java? - dummies

Valg af editor

Fuld redigeringsfunktion i Photoshop Elements 10 - dummies

Fuld redigeringsfunktion i Photoshop Elements 10 - dummies

Fuld fotoredigeringsfunktion tilbyder bundter af værktøjer, som du kan bruge at redigere dine billeder, fra korrektionsværktøjer til fastsættelse af farve og klarhed til filtre, lag og meget mere for at ændre eksisterende fotos eller skabe helt originale billeder fra bunden. Men alle disse værktøjer gør også Komplet fotoredigeringstilstand kompleks. Du kan flytte ind i ...

Generelle blandingsformer i Photoshop Elements - dummies

Generelle blandingsformer i Photoshop Elements - dummies

Elementer spænder over 25 blandingstilstande. Blend modes påvirker hvordan farver interagerer mellem lag og også hvordan farver interagerer, når du anvender maling på et lag. Ikke alene gør blandingstilstande interessante effekter, men du kan også nemt anvende, redigere eller fjerne blandingsfunktioner uden at røre dine billedpixel. De forskellige blandingstilstande ...

Geometriske formindstillinger i Photoshop Elements - dummies

Geometriske formindstillinger i Photoshop Elements - dummies

Geometriindstillinger hjælpe med at definere, hvordan dine figurer ser ud. Klik på nedpegepilen i værktøjsindstillingerne i Elements for at få adgang til de geometriske indstillinger, der beskrives i det følgende. Rektangulære og afrundede rektangel geometriske indstillinger Her er geometriske indstillinger for rektangel og afrundede rektangelformer: Ubegrænset: Giver dig mulighed for at få fri tøj til at tegne en ...

Valg af editor

Sådan bygger du tabeller i HTML5 - dummies

Sådan bygger du tabeller i HTML5 - dummies

Sommetider indeholder din webside data bedst fremlagt i et bord . Du kan bruge HTML5's komplette bordsystem til at oprette tabeller som den i dette eksempel: Den grundlæggende struktur i et bord i HTML-format er rimeligt let at forstå; Tjek koden, der oprettede tabellen i eksemplet:

Hvordan man ændrer gentagne baggrunde på CSS3-steder - dummier

Hvordan man ændrer gentagne baggrunde på CSS3-steder - dummier

Der er situationer, hvor man kun vil en enkelt kopi af et baggrundsbillede på dit CSS3-websted. Det kan være, at billedet du har brugt er noget, der ikke gentager sig godt eller er stort nok til, at du virkelig ikke vil have det gentaget. Følgende procedure viser en teknik, du kan bruge til at fortælle ...

Hvordan man opbygger en webside skabelon fra scratch-dummies

Hvordan man opbygger en webside skabelon fra scratch-dummies

Standardværktøjet på tværs af digitalt agenturer og interne afdelinger til opbygning af website grafik er Adobe Photoshop. Selvom fyrværkeri er optimeret og målrettet til at producere web-grafiske kildefiler, er det bare ikke fanget, sandsynligvis på grund af den massive genoplæringsindsats ville det medføre, at hele afdelinger gør omskifteren. At oprette et nyt ...

Valg af editor

Sådan godkendes medlemmer til din LinkedIn Group - dummier

Sådan godkendes medlemmer til din LinkedIn Group - dummier

Som flere og flere mennesker finder ud af din ny LinkedIn-gruppe, og som medlemmer begynder at deltage, kan du opleve, at nogle af de personer, der har klikket på linket for at deltage, ikke er på din forhåndsgodkendte liste. Måske er de mennesker, du ikke har forstået var på LinkedIn, eller du var ikke klar over, at de var gyldige grupper ...

Hvordan man tilføjer billeder til kroppen i din LinkedIn-profil til Visual Social Marketing - dummies

Hvordan man tilføjer billeder til kroppen i din LinkedIn-profil til Visual Social Marketing - dummies

Ud over et profilbillede giver LinkedIn brugere mulighed for at forbedre de visuelle sociale markedsføringselementer i deres profiler ved at tilføje billeder til deres profilprofil. Du kan tilføje billeder til ethvert afsnit i din LinkedIn-profil. Tilføjelse af billeder til din profil kan hjælpe dig med at fortælle din historie visuelt og ...

Sådan tilføjer du en virksomhedsside til LinkedIn - dummies

Sådan tilføjer du en virksomhedsside til LinkedIn - dummies

, Når du har opfyldt kravene til oprettelse en virksomhedsside på LinkedIn, er det tid til at komme i gang ved at tilføje selskabets side til Linkedins system. For at oprette din virksomhedsside skal du blot følge disse trin: