Hjem Personlig finansiering Hvorfor sorteringsdata er vigtige for algoritmer - dummies

Hvorfor sorteringsdata er vigtige for algoritmer - dummies

Video: Krem Nasjonal - Hvorfor 2025

Video: Krem Nasjonal - Hvorfor 2025
Anonim

Forestil dig at forsøge at finde et emne på en liste uden at sortere det først. Hver søgning bliver en tidskrævende sekventiel søgning. Men der kan gøres en sag for ikke at sortere data til algoritmer. Dataene er trods alt stadig tilgængelige, selvom du ikke sorterer det - og sortering tager tid.

Problemet med usorterede data er selvfølgelig det samme problem som junk skuffen i dit køkken (eller hvor som helst du har din junk skuffe - forudsat at du kan finde det overhovedet). At kigge efter noget i skraldeskuffen er tidskrævende, fordi du ikke engang kan begynde at gætte hvor du finder noget. I stedet for at komme ind og tage hvad du vil, skal du tage ud af mange andre ting, du ikke vil have i et forsøg på at finde det ene emne, du har brug for. Desværre kan det element du behøver måske ikke være i skraldeskuffen i første omgang - du har måske kastet det ud eller sat det i en anden skuffe.

Skraldskuffen i dit hjem er ligesom usorterede data på dit system. Når dataene er usorterede, skal du søge efter et emne ad gangen, og du ved ikke engang, om du finder det, du har brug for uden først at søge efter hvert element i datasættet. Det er en frustrerende måde at arbejde med data på.

Selvfølgelig er det simpelthen ikke bare at sortere dataene. Hvis du har en medarbejder database sorteret efter efternavn, men alligevel nødt til at slå op en medarbejder efter fødselsdato, er sorteringen ikke nyttig. (Sig, du vil finde alle de medarbejdere, der har fødselsdag på en bestemt dag.) For at finde den fødselsdato du har brug for, skal du stadig søge hele datasættet ét emne ad gangen. Derfor skal sorteringen fokusere på et bestemt behov. Ja, du havde brug for medarbejderdatabasen sorteret efter afdeling på et tidspunkt og efter efternavn på et andet tidspunkt, men nu har du brug for det sorteret efter fødselsdato for at bruge datasættet effektivt.

Behovet for at opretholde flere sorterede ordrer til de samme data er grunden til, at udviklere oprettet indekser. At sortere et lille indeks er hurtigere end at sortere hele datasættet. Indekset opretholder en bestemt dataregning og peger på hele datasættet, så du kan finde det, du har brug for ekstremt hurtigt. Ved at opretholde et indeks for hvert sorteringsbehov kan du effektivt reducere datatilgangstiden og give flere personer adgang til dataene samtidig i den rækkefølge, de skal få adgang til.

Der er mange måder at kategorisere sorteringsalgoritmer på. En af disse måder er sortens hastighed. Når man overvejer, hvor effektiv en bestemt sorteringsalgoritme er ved at arrangere dataene, ser timing benchmarks typisk på to faktorer:

  • Sammenligninger: For at flytte data fra et sted i et datasæt til et andet, skal du vide, hvor du skal flytte det, hvilket betyder at sammenligne måldataene med andre data i datasættet.At have færre sammenligninger betyder bedre ydeevne.
  • Udvekslinger: Afhængigt af hvordan du skriver en algoritme, kan dataene ikke komme til den endelige placering i datasættet ved første forsøg. Dataene kan faktisk flytte flere gange. Antallet af udvekslinger påvirker hastigheden betragteligt, for nu flytter du faktisk data fra et sted til et andet i hukommelsen. Færre og mindre udvekslinger (f.eks. Ved brug af indekser) betyder bedre ydeevne.
Hvorfor sorteringsdata er vigtige for algoritmer - dummies

Valg af editor

Microsoft Project 2010 Genvejstaster - dummies

Microsoft Project 2010 Genvejstaster - dummies

Microsoft Project 2010 maksimerer effektiviteten, når du administrerer projekter - men også genvejstaster i Project 2010 din tid på tastaturet: Her er nogle genvejstaster, du vil bruge hele tiden, når du bygger og arbejder med en projektplan. Indtastning af tastetryk Indsæt Indsætter ny opgave Ctrl + K Indsætter hyperlink F7 Starter stavekontrol Alt + F10 Tildeler ressourcer ...

Hvordan man ændrer gridlines i Project 2016 - dummies

Hvordan man ændrer gridlines i Project 2016 - dummies

Flere visninger i Project 2016 inkluderer gridlines for at angive visse elementer, f.eks. en pause mellem uger eller status dato (det vil sige den dato, hvor der er sporet fremskridt på et projekt). Disse linjer hjælper en person med at læse planen for at skelne mellem tidsintervaller eller brud på information; For eksempel kan netlinjer være ...

Projekt 2016 AutoFilter-funktion - dummier

Projekt 2016 AutoFilter-funktion - dummier

Projekt 2016 AutoFilter-funktionen er som standard tændt for alle nye tidsplanfiler. Pile vises i kolonneoverskrifterne i det viste ark. Når du klikker på pilen i kolonnen Ressourcenavne, er navnet på hver ressource, der er tildelt opgaver i projektet, angivet i alfabetisk rækkefølge sammen med ...

Valg af editor

Netværksadministration: Windows Command Omdirigering og piping - dummies

Netværksadministration: Windows Command Omdirigering og piping - dummies

Omdirigering og piping af Windows-kommandoer er relaterede teknikker. Omdirigering giver dig mulighed for at angive en alternativ destination for output, der vil blive vist med en kommando eller en alternativ kilde til input, der skal indtastes i en kommando. Du kan f.eks. Gemme resultaterne af en kommando ipconfig / all til en fil ved navn myconfig. txt ...

Netværksadministration: VPN Security - dummies

Netværksadministration: VPN Security - dummies

Udtrykket tunnel er nogle gange brugt til at beskrive en VPN, fordi VPN'en skaber en sikker tunnel mellem to steder, som kun kan indtastes fra begge ender. De data, der bevæger sig gennem tunnelen fra den ene ende til den anden, er sikre, så længe det er inden for tunnelen - det vil sige inden for ...

Netværksadministration: Windows Miljøvariabler - dummies

Netværksadministration: Windows Miljøvariabler - dummies

Windows-kommandoskallen giver flere miljøvariabler til kommandoer. Miljøvariabler begynder og slutter med procent tegn. Du kan bruge en miljøvariabel overalt i en kommando. For eksempel viser C:> echo% OS%, der kører på% PROCESSOR_IDENTIFIER% en linje som denne: Windows_NT kører på en x86 Familie 15 Model 2 Stepping 8, ...

Valg af editor

Sådan bruger du arv i PHP med objektorienteret programmering - dummier

Sådan bruger du arv i PHP med objektorienteret programmering - dummier

Objektorienteret programmering i PHP har en anden funktion, der gør det meget nyttigt til store projekter. Mange objekter er relateret til hinanden, og du kan bruge et familietræforhold til at forenkle din programmering. Hvordan man bygger en critter baseret på en anden critter Der er en ny critter i byen. Denne har den samme grundlæggende ...

Sådan bruges PHP til at lave en switch til HTML5 og CSS3 Programmering - dummies

Sådan bruges PHP til at lave en switch til HTML5 og CSS3 Programmering - dummies

Du kører ofte over en situation i HTML5 og CSS3 programmering, hvor du har et udtryk, der kan have mange mulige værdier. Du kan altid bruge strukturen til at klare denne situation, men PHP leverer en anden interessant mulighed. Koden til dette program anvender omskifterstrukturen. Tag et kig på, hvordan det er gjort: