Skillnaden mellan linjär sökning och binär sökning
Innehåll
Linjär sökning och binär sökning är de två metoderna som används i matriser för sökande elementen. Sökning är en process för att hitta ett element i listan över element lagrade i valfri ordning eller slumpmässigt.
Den största skillnaden mellan linjär sökning och binär sökning är att binär sökning tar mindre tid att söka efter ett element från den sorterade elementlistan. Så det dras slutsatsen att effektiviteten för binär sökningsmetod är större än linjär sökning.
En annan skillnad mellan de två är att det finns en förutsättning för den binära sökningen, dvs elementen måste vara sorterad medan det i linjär sökning inte finns någon sådan förutsättning. Även om båda sökmetoderna använder olika tekniker som diskuteras nedan.
- Jämförelsediagram
- Definition
- Viktiga skillnader
- Slutsats
Jämförelsediagram
Grund för jämförelse | Linjär sökning | Binär sökning |
---|---|---|
Tidskomplexitet | PÅ) | O (log 2 N) |
Bästa fallet | Första element O (1) | Mittelement O (1) |
Förutsättning för en matris | Ingen krävs | Array måste vara i sorterad ordning |
Värsta fallet för N antal element | N jämförelser krävs | Kan avsluta efter bara logg2 N jämförelser |
Kan implementeras på | Array och länkad lista | Kan inte implementeras direkt på länkad lista |
Sätt i drift | Enkelt infört i slutet av listan | Kräv bearbetning för att infoga på rätt plats för att behålla en sorterad lista. |
Algoritmtyp | Iterativ i naturen | Dela och erövra i naturen |
Användbarhet | Lätt att använda och inget behov av beställda element. | Hur som helst knepiga algoritmer och element bör organiseras i ordning. |
Lines of Code | Mindre | Mer |
Definition av linjär sökning
I en linjär sökning hämtas varje element i en matris en efter en i en logisk ordning och kontrolleras om det är önskat element eller inte. En sökning kommer inte att lyckas om alla element har åtkomst och det önskade elementet inte hittas. I värsta fall är antalet genomsnittliga fall vi kan skanna hälften av storleken på matrisen (n / 2).
Därför kan linjär sökning definieras som den teknik som går igenom matrisen i följd för att lokalisera det givna objektet. Programmet nedan illustrerar sökningen av ett element i matrisen med hjälp av sökning.
Effektivitet av linjär sökning
Tidsförbrukningen eller antalet jämförelser som gjorts vid sökning av en post i en söktabell avgör teknikens effektivitet. Om den önskade posten finns i den första positionen i söktabellen görs bara en jämförelse. När den önskade posten är den sista, måste n jämförelser göras. Om posten ska presenteras någonstans i söktabellen är antalet jämförelser i genomsnitt (n + 1/2). Det värsta fallet med denna teknik är O (n) står för utföringsordningen.
C-program att söka i ett element med linjär sökteknik.
#inkludera Binär sökning är en extremt effektiv algoritm. Denna sökteknik förbrukar mindre tid på att söka efter det givna objektet i minst möjliga jämförelser. För att göra den binära sökningen måste vi först sortera arrayelementen. Logiken bakom denna teknik ges nedan: Det finns tre fall som kan uppstå: Upprepa samma steg tills ett element hittas eller avgas i sökområdet. I denna algoritm minskar varje gång sökområdet. Därför är antalet jämförelser högst log (N + 1). Som ett resultat är det en effektiv algoritm i jämförelse med linjär sökning, men matrisen måste sorteras innan du gör den binära sökningen. C-program för att hitta ett element med binär sökningsteknik. #inkludera Både linjära och binära sökalgoritmer kan vara användbara beroende på applikationen. När en matris är datastrukturen och elementen är ordnade i sorterad ordning föredras binär sökning snabbtsökande. Om länkad lista är datastrukturen oavsett hur elementen är arrangerade, antas linjär sökning på grund av otillgänglighet för direkt implementering av binär sökalgoritm. Den typiska binära sökalgoritmen kan inte användas för länkad lista eftersom länkad lista är dynamisk och det är inte känt var mittelementet faktiskt tilldelas. Därför finns det ett krav att utforma variationen av den binära sökalgoritmen som kan fungera på länkad lista också eftersom den binära sökningen är snabbare i körning än en linjär sökning.Definition av binär sökning
Slutsats