Typer av søkealgoritmer

Typer av søkealgoritmer


Søkealgoritmer utgjør en viktig del av mange programmer. Noen søker bære leter etter en oppføring i en database, som ser opp posten i IRS database. Andre søkealgoritmer tråle gjennom et virtuelt rom, slik som de på jakt etter de beste sjakktrekk. Selv programmerere kan velge mellom en rekke søketyper, de velger algoritmen som best samsvarer med størrelsen og strukturen på databasen for å gi en brukervennlig opplevelse.

lineær Søk

Den lineære søk er algoritmen av valget for korte lister, fordi den er enkel og krever minimalt med kode for å implementere. Den lineære søkealgoritme ser på den første listen element for å se om du søker etter det, og hvis så, er du ferdig. Hvis ikke, ser det på neste element og videre gjennom hver oppføring på listen.

Binary Søk

Binary søk er en populær algoritme for store databaser med poster bestilt av talltast. Eksempel kandidater inkluderer skattemyndighetene databasen tastet av personnummer og DMV poster tastet av førerkortnumre. Algoritmen starter på midten av database - hvis målet tallet er større enn det midterste tallet, vil søket fortsette med den øvre halvdelen av databasen. Hvis målet antall er mindre enn det midterste tallet, vil søket fortsette med den nedre halvdelen av databasen. Det holder å gjenta denne prosessen, kutte databasen i halvparten hver gang til den finner posten. Dette søket er mer komplisert enn den lineære søk, men for store databaser det er mye raskere enn en lineær søk.

tre Søk

Et tre søk fungerer bare hvis dataene passer inn i en trestruktur. Databasen starter på en rot som går til noen få elementer, som hver går til noen flere elementer og så videre til du har et tre. Et eksempel er spillet av sjakk. Det sittende styret posisjon er roten. De juridiske flyttes fra denne posisjonen representerer ett trinn ned treet, og så videre til spilleren finner styret stilling som forlater ham i den beste posisjonen.

genetisk algoritme

En genetisk algoritme søk er en av de teknikkene bak kunstig intelligens. Den søker etter en "optimal løsning" uttrykt som en streng av data - for eksempel listen over interne dimensjoner av en jetmotor som gir maksimal skyvekraft. Søket starter med en tilfeldig populasjon av strenger og tester hver enkelt, å holde de beste og avl dem for å få neste generasjon. Programmet holder gjenta denne prosessen til det ankommer en optimal løsning streng.