Hem Personliga finanser Varför sorteringsdata är viktigt för algoritmer - dummies

Varför sorteringsdata är viktigt för algoritmer - dummies

Video: Sofijah - Varför 2024

Video: Sofijah - Varför 2024
Anonim

Föreställ dig att du försöker hitta en vara i en lista utan att sortera den först. Varje sökning blir en tidskrävande sekventiell sökning. Men ett fall kan göras för att inte sortera data för algoritmer. Trots allt är data fortfarande tillgängliga, även om du inte sorterar det - och sortering tar tid.

Problemet med osorterade data är naturligtvis samma problem som skräpslådan i ditt kök (eller var du än har skräpslådan - förutsatt att du kan hitta den). Att leta efter någonting i skräplådan är tidskrävande eftersom du inte ens kan börja gissa var du ska hitta något. Snarare än att bara nå in och ta vad du vill, måste du ta bort många andra saker som du inte vill ha för att hitta det enda objektet du behöver. Tyvärr kan det föremål som du behöver inte vara i skräpslådan i första hand - du kan ha kastat det ut eller sätta det i en annan låda.

Skräplådan i ditt hem är precis som osorterad data på ditt system. När uppgifterna är usorterade måste du söka ett objekt i taget, och du vet inte ens om du hittar vad du behöver utan att söka varje objekt i datasetet först. Det är ett frustrerande sätt att arbeta med data.

Självklart räcker det inte med att helt enkelt sortera data. Om du har en anställd databas sorterad efter efternamn, men behöver se upp en anställd vid födelsedatum, är sorteringen inte användbar. (Säg att du vill hitta alla anställda som har en födelsedag på en viss dag.) För att hitta det födelsedatum du behöver, måste du fortfarande söka hela datasetet ett objekt i taget. Följaktligen måste sortering fokusera på ett visst behov. Ja, du behövde personaldatabasen sorterad efter avdelning vid en tidpunkt och efter efternamn vid en annan tid, men nu behöver du det sorterat efter födelsedatum för att kunna använda datasetet effektivt.

Behovet av att behålla flera sorterade order för samma data är anledningen till att utvecklare skapat index. Att sortera ett litet index är snabbare än att sortera hela datasetet. Indexet behåller en specifik datordisk och pekar på hela databasen så att du kan hitta vad du behöver extremt snabbt. Genom att behålla ett index för varje sorteringsbehov kan du effektivt minska dataåtkomsttiden och låta flera personer komma åt data samtidigt i den ordning de behöver komma åt.

Många sätt är tillgängliga för att kategorisera sorteringsalgoritmer. Ett av dessa sätt är sortens hastighet. När man överväger hur effektiv en viss sortalgoritm är vid att ordna data, ser tidstagsbänkarna normalt på två faktorer:

  • Jämförelser: För att flytta data från en plats i en dataset till en annan, behöver du veta vart du ska flytta den, vilket innebär att man jämför måldata med andra data i datasetet.Att ha färre jämförelser betyder bättre prestanda.
  • Utbyten: Beroende på hur du skriver en algoritm, kommer data kanske inte till sin slutliga plats i datamängden vid första försöket. Data kan faktiskt flytta flera gånger. Antalet utbyten påverkar hastigheten väsentligt eftersom nu flyttar du faktiskt data från en plats till en annan i minnet. Färre och mindre utbyten (som vid användning av index) betyder bättre prestanda.
Varför sorteringsdata är viktigt för algoritmer - dummies

Redaktörens val

Jewish Funeral Traditions - dummies

Jewish Funeral Traditions - dummies

Judiska begravningar sker vanligen i en synagoge, begravningshem eller på en kyrkogård. Med tradition är judiska begravningar enkla (symboliserar tron ​​att människor är alla lika i döden), men de varierar mycket och har ingen uppsättning liturgi. Att skicka blommor till ett begravnings- eller sorgshem är starkt avskräckt i judendomen. Inte bara kommer ...

Identifiera komplicerade grävande dummies

Identifiera komplicerade grävande dummies

Komplicerat roende är det tekniska namnet som sorgproffs ger till en sorgprocess som sitter fast vid något tillfälle , vilket gör det omöjligt för de förlorade att framgångsrikt starta eller avsluta sorgprocessen. Komplicerat sorg är ofta ett tecken på olösta problem i förhållandet mellan de förlorade och den avlidne som gör det ...

Redaktörens val

Hur man ställer in kartkontroller i Main_iPad. Storyboard i din iOS App - dummies

Hur man ställer in kartkontroller i Main_iPad. Storyboard i din iOS App - dummies

När du har en anpassad vy för MapController i din iOS-app, måste du berätta för iPad-storyboardet att du laddar in din anpassade vy i stället för en UIViewController. Följ dessa steg: Välj Projekt navigator genom att välja Main_iPad. storyboard och välj sedan View Controller i View Controller - Map Scene i dokumentutskriften. ...

Hur man roterar objekt i din iOS-app - dummies

Hur man roterar objekt i din iOS-app - dummies

Här hittar du hur man rotera en vy (i så fall vrid bilen runt) i din iOS-app. För att göra det uppdaterar du den roterande kodstuben du startade med och ersätter den med den fetstilta koden. - (void) rotera {CGAffineTransform transform = CGAffineTransformMakeRotation (M_PI); void (^ animation) () = ^ () {self. bil. transformera = transformera; ...

Hur man ställer in en WeatherController i Main_iPad. storyboard-fil för din iOS-app - dummies

Hur man ställer in en WeatherController i Main_iPad. storyboard-fil för din iOS-app - dummies

Bör du lägga till en ny anpassad vykontroll till din iOS-app innan du fortsätter till dessa steg. Du behöver fortfarande berätta för storyboardet att du vill att den ska ladda den nya anpassade vykontrollen istället för en UIViewController. Följ dessa steg:

Redaktörens val

Spara en grafisk stil i Adobe CS5 Illustrator - dummies

Spara en grafisk stil i Adobe CS5 Illustrator - dummies

Adobe Creative Suite 5 (Adobe CS5) Illustrator tillåter Du sparar en grafisk stil. En grafisk stil är en kombination av alla inställningar du väljer för ett visst filter eller en effekt i Utseendepanelen. Genom att spara informationen i en grafisk stil lagras du dessa attribut så att du snabbt och enkelt kan tillämpa ...

Välj som ett transformationsverktyg i Adobe CS5 Illustrator - dummies

Välj som ett transformationsverktyg i Adobe CS5 Illustrator - dummies

I Adobe Creative Suite 5 (Adobe CS5 ) Illustratör du kan använda markeringsverktyget för att skala och rotera ett valt objekt. Dra begränsningsboxens handtag för att ändra storlek på objektet, eller flytta dig utanför ett handtag och sedan, när markören ändras till en flippig pil (en böjd pil med pilhuvud i båda ändarna), dra till ...

Objekttransformation i Adobe CS5 Illustrator - dummies

Objekttransformation i Adobe CS5 Illustrator - dummies

Verktygen Rotate, Reflect, Scale och Shear i Adobe Creative Suite 5 (Adobe CS5) Illustrator använder alla samma grundläggande steg för att utföra transformationer. Här är fem sätt att transformera ett objekt: en för en godtycklig omvandling och fyra andra för exakta omvandlingar baserat på en numerisk mängd som du anger. Vilkårlig omvandlingsmetod Eftersom detta ...