Hjem Personlig finansiering Hvorfor sorteringsdata er viktig for algoritmer - dummier

Hvorfor sorteringsdata er viktig for algoritmer - dummier

Video: Krem Nasjonal - Hvorfor 2024

Video: Krem Nasjonal - Hvorfor 2024
Anonim

Tenk deg å prøve å finne et element i en liste uten å sortere det først. Hvert søk blir et tidkrevende sekvensielt søk. Men det kan gjøres en sak for ikke å sortere data for algoritmer. Tross alt er dataene fortsatt tilgjengelige, selv om du ikke sorterer det - og sortering tar tid.

Problemet med usorterte data er selvsagt det samme problemet som søppelskuffen på kjøkkenet ditt (eller hvor du har søppelskuffen din - forutsatt at du finner det i det hele tatt). Å se etter noe i søppelskuffen er tidkrevende fordi du ikke engang kan begynne å gjette hvor du skal finne noe. Snarere enn å bare komme inn og ta det du vil, må du ta ut mange andre ting du ikke vil ha i et forsøk på å finne det ene elementet du trenger. Dessverre kan elementet du trenger, ikke være i søppel skuffen i utgangspunktet, du kan ha kastet den ut eller sette den i en annen skuff.

Skrapskuffen i ditt hjem er akkurat som usorterte data på systemet ditt. Når dataene er usorterte, må du søke etter ett element om gangen, og du vet ikke engang om du vil finne det du trenger uten å søke hvert element i datasettet først. Det er en frustrerende måte å jobbe med data på.

Selvfølgelig er det ganske enkelt ikke bare å sortere dataene. Hvis du har en ansatt database sortert etter etternavn, men likevel trenger å slå opp en ansatt ved fødselsdato, er sorteringen ikke nyttig. (Si at du vil finne alle de ansatte som har en bursdag på en bestemt dag.) For å finne fødselsdatoen du trenger, må du fortsatt søke hele datasettet ett element om gangen. Derfor må sorteringen fokusere på et bestemt behov. Ja, du trengte medarbeidsdatabasen sortert etter avdeling på ett tidspunkt og etter etternavn på en annen tid, men nå trenger du den sortert etter fødselsdato for å kunne bruke datasettet effektivt.

Behovet for å opprettholde flere sorterte bestillinger for de samme dataene er årsaken til at utviklere opprettet indekser. Sortering av en liten indeks er raskere enn å sortere hele datasettet. Indeksen opprettholder en bestemt datordeling og peker på hele datasettet slik at du kan finne det du trenger ekstremt raskt. Ved å opprettholde en indeks for hvert sorteringsbehov, kan du effektivt kutte dataadgangstid og tillate flere personer å få tilgang til dataene samtidig i den rekkefølgen de trenger for tilgang til den.

Mange måter er tilgjengelige for å kategorisere sorteringsalgoritmer. En av disse måtene er sortens hastighet. Når man vurderer hvor effektiv en bestemt sorteringsalgoritme er ved å ordne dataene, ser timing-benchmarks vanligvis på to faktorer:

  • Sammenligninger: For å flytte data fra ett sted i et datasett til et annet, må du vite hvor du skal flytte det, som betyr å sammenligne måldataene med andre data i datasettet.Å ha færre sammenligninger betyr bedre ytelse.
  • Utveksling: Avhengig av hvordan du skriver en algoritme, kan dataene ikke komme til den endelige plasseringen i datasettet ved første forsøk. Dataene kan faktisk flytte flere ganger. Antall utvekslinger påvirker hastigheten betraktelig fordi nå flytter du faktisk data fra ett sted til et annet i minnet. Færre og mindre utvekslinger (som ved bruk av indekser) betyr bedre ytelse.
Hvorfor sorteringsdata er viktig for algoritmer - dummier

Redaktørens valg

Speil Lockup (MUP) på Nikon D7100-dummies

Speil Lockup (MUP) på Nikon D7100-dummies

En komponent i det optiske systemet til din Nikon D7100 kamera er et speil som beveger seg hver gang du trykker på lukkerknappen. Den lille vibrasjonen som følge av speilets handling kan føre til svak utryddelse av bildet når du bruker en veldig langsom lukkerhastighet, skyter med en lang teleobjektiv, ...

Opptaksmuligheter på Nikon D5300 - dummies

Opptaksmuligheter på Nikon D5300 - dummies

Du kan styre noen få aspekter av din filmoppgave på din Nikon D5300. Du kan manipulere videoen din for å skape en rekke effekter. Følgende liste går gjennom disse alternativene: Eksponeringsmodus: Du kan ta opp filmer i hvilken som helst eksponeringsmodus (Auto, Scenemodus, Effektmodus, P, M, og så videre). Som med fortsatt ...

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Følgende retusjonsverktøy på din Nikon D5600 kamerajustering eksponering og farge: D-Lighting, Quick Retouch, Filter Effects og Monochrome. Selv om disse verktøyene ikke får deg til å velge ett kamera over en annen, hvis du allerede har en Nikon D5600, er de tilgjengelige, så du kan også lære å bruke dem! D-Lighting: Active D-Lighting ...

Redaktørens valg

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

Hvis du vurderer bli med i en fantasy basketball liga, må du ta hensyn til følgende DOs og DON'Ts før du vurderer spillerne du vil utarbeide på laget ditt. Kreditt: © iStockphoto. com / IS_ImageSource Fantasy basketball draft pick DOS I de fleste fantasy basketball ligaer bestemmer kommisjonen (personen som setter opp ligaen) bestillingen i ...

Linjene og dimensjonene til en basketballbane - dummies

Linjene og dimensjonene til en basketballbane - dummies

En basketballbane har symmetri; Den ene halvdelen av retten er et speilbilde av den andre. Hele basketballbanen (se figur 1) er 94 fot med 50 fot. På hver halvplass viser malte linjer fritt korsbanen og sirkelen, samt trepunktsbuen, hvis avstand fra kurven varierer basert ...

Kjøp av gratis agenter i fantasy fotball - dummies

Kjøp av gratis agenter i fantasy fotball - dummies

I løpet av fantasy fotball sesongen, spillere som ikke blir utarbeidet bli gratis agenter - spillere tilgjengelig for enhver ligamatch villig til å slippe en eid spiller. Bruk gratis agentbassenget til å erstatte en skadet spiller eller noen som bare ikke lever opp til dine forventninger. Bruk disse tipsene for å finne en gratis agent for å ...

Redaktørens valg

Grunnleggende for din iOS-app - dummies

Grunnleggende for din iOS-app - dummies

Heldigvis mesteparten av det du trenger å gjøre så langt som iOS animasjon er opptatt er allerede bygd inn i rammen. Noen visningsegenskaper kan animeres, noe som betyr at du bare må fortelle visningen hvor du skal begynne og hvor du skal avslutte flyttingen, og noen få andre valgfrie parametere, og du er ferdig. ...

Montering av verktøylinjen for Android App Development - dummies

Montering av verktøylinjen for Android App Development - dummies

Når du vet at du er klar til være en Android-utvikler, ta tak i datamaskinen din og få sprekker på å installere verktøyene og rammene som er nødvendige for å bygge ditt første blockbuster-program. Linux-kjernen Android ble opprettet på toppen av åpen kildekode Linux-kjernen. Android-teamet valgte å bruke denne kjernen fordi den ga bevist ...

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Cocoa Touch-laget inneholder det meste av objektet -orientert utvikler-vendt rammer for å bygge iOS applikasjoner. Det er ditt eneste utgangspunkt for app-utvikling. Apple-guiderne oppfordrer deg til å undersøke teknologiene i dette laget for å se om de oppfyller dine behov, før du ser på de andre lagene. Med andre ord, Apple har til hensikt å ...