Lineair zoeken versus binair zoeken

Schrijver: Laura McKinney
Datum Van Creatie: 4 April 2021
Updatedatum: 10 Kunnen 2024
Anonim
Linear search vs Binary search
Video: Linear search vs Binary search

Inhoud

Het verschil tussen lineair zoeken en een binaire zoekopdracht is dat bij lineair zoeken elk element wordt gecontroleerd en vergeleken en vervolgens gesorteerd, terwijl bij binair zoeken een lijst die moet worden gesorteerd, in twee delen wordt verdeeld en vervolgens wordt gesorteerd. Zoeken en sorteren zijn twee hoofdconcepten in computerprogrammering. Veel algoritmen worden gebruikt voor zoeken en sorteren, maar de twee meest gebruikte algoritmen voor zoeken en sorteren zijn lineair zoeken en binair zoeken.


Het verschil tussen lineair zoeken en binair zoeken is de werking en efficiëntie van beide algoritmen. Binair zoeken is een veel efficiënter algoritme in vergelijking met het lineaire zoekalgoritme. De iteratie of de tijd die nodig is om elke waarde voor het sorteren te vergelijken, is minder in binair zoeken in vergelijking met lineair zoeken.

Lineair zoeken is een zeer complex algoritme als u een nummer in een lijst wilt zoeken, het aantal waarden in de lijst soms wilt vergelijken en herhalen. Eén voor één wordt elk element van de lijst opgehaald en vergeleken met het aangrenzende element. Alle elementen zijn toegankelijk en vink aan en dan is het juiste element gevonden. Het ergste geval kan zijn als het laatste nummer in de lijst het nummer is dat moet worden doorzocht. Lineair zoeken is de methode waarmee de array wordt doorlopen en het te zoeken element wordt onderbouwd. Als we het hebben over de efficiëntie, is de efficiëntie het aantal keren dat het programma moet worden uitgevoerd om het nummer te vinden. Als we het nummer waar we naar zoeken in de eerste positie vinden, hoeft er maar één vergelijking te worden gemaakt, en dingen worden gesorteerd, maar als dat niet het geval is, moeten vergelijkingen steeds opnieuw worden gemaakt en wordt geheugen verspild. Gemiddeld is het aantal vergelijkingen (n + 1/2). En de worst-case efficiëntie van deze techniek is O (n) staat voor de volgorde van uitvoering.


In vergelijking met lineair zoeken is binair zoeken zeer efficiënt. In deze methode is de array verdeeld in twee delen en op deze manier is het aantal vergelijkingen zeer minder in vergelijking met binair zoeken. De tijd is ook minder bij binair zoeken in vergelijking met lineair zoeken. Binair zoeken werkt op de manier waarop het middelste element van de array wordt gevonden en vervolgens wordt het middelste element vergeleken met een deel van de array. Er kunnen drie mogelijkheden zijn, het middelste getal kan het getal zijn dat we moeten vinden of het getal dat kleiner is dan het middelste getal of het getal dat groter is dan het middelste getal. Het aantal vergelijkingen is maximaal log (N + 1). Binair zoeken in vergelijking met lineair zoeken is een efficiënt algoritme in vergelijking met lineair zoeken, maar de array moet worden gesorteerd voordat de binaire zoekopdracht wordt uitgevoerd.

Inhoud: verschil tussen lineair zoeken en binair zoeken

  • Vergelijkingstabel
  • Binaire zoekopdracht
  • Belangrijkste verschillen
  • Gevolgtrekking
  • Verklarende video

Vergelijkingstabel

BasisLineair zoekenBinaire zoekopdracht
BetekenisLineaire zoekopdracht elk element wordt gecontroleerd en vergeleken en vervolgens gesorteerd

Binair zoeken Een lijst die moet worden gesorteerd, is verdeeld in twee delen en vervolgens gesorteerd.


 

Tijd ComplexiteitDe tijdcomplexiteit van de lineaire zoekopdracht is O (N).De tijdcomplexiteit van de binaire zoekopdracht is O (log 2 N)
Type algoritmeLineair zoeken is iteratief.Binair zoeken is verdeel en heers.
Regel van codeBij een lineaire zoekopdracht moeten we meer code schrijven.Bij een binaire zoekopdracht moeten we minder code schrijven.

Lineair zoeken

Lineair zoeken is een zeer complex algoritme als u een nummer in een lijst wilt zoeken, het aantal waarden in de lijst een aantal keren wilt vergelijken en herhalen. Eén voor één wordt elk element van de lijst opgehaald en vergeleken met het aangrenzende element. Alle elementen worden geopend en gecontroleerd en vervolgens wordt het juiste element gevonden. Het ergste geval kan zijn als het laatste nummer in de lijst het nummer is dat moet worden doorzocht. Lineair zoeken is de methode waarmee de array wordt doorlopen en het te zoeken element wordt onderbouwd. Als we het hebben over de efficiëntie, is de efficiëntie het aantal keren dat het programma moet worden uitgevoerd om het nummer te vinden. Als we het nummer waar we naar zoeken in de eerste positie vinden, hoeft er maar één vergelijking te worden gemaakt, en dingen worden gesorteerd, maar als dat niet het geval is, moeten vergelijkingen steeds opnieuw worden gemaakt en wordt geheugen verspild. Gemiddeld is het aantal vergelijkingen (n + 1/2). En de worst case efficiëntie van deze techniek is O (n) staat voor de volgorde van uitvoering.

Binaire zoekopdracht

In vergelijking met lineair zoeken is binair zoeken zeer efficiënt. In deze methode is de array in twee delen verdeeld en op deze manier is het aantal vergelijkingen zeer minder in vergelijking met binair zoeken. De tijd is ook minder bij binair zoeken in vergelijking met lineair zoeken. Binair zoeken werkt op de manier waarop het middelste element van de array wordt gevonden en vervolgens wordt het middelste element vergeleken met een deel van de array.

Er kunnen drie mogelijkheden zijn, het middelste getal kan het getal zijn dat we moeten vinden of het getal dat kleiner is dan het middelste getal of het getal dat groter is dan het middelste getal. Het aantal vergelijkingen is maximaal log (N + 1). Binair zoeken in vergelijking met lineair zoeken is een efficiënt algoritme in vergelijking met lineair zoeken, maar de array moet worden gesorteerd voordat de binaire zoekopdracht wordt uitgevoerd.

Belangrijkste verschillen

  1. Lineair zoeken Elk element wordt gecontroleerd en vergeleken en vervolgens gesorteerd, terwijl Binair zoeken een lijst die moet worden gesorteerd, in twee delen is verdeeld en vervolgens is gesorteerd.
  2. De tijdcomplexiteit van lineair zoeken is 0 (N) terwijl de tijdcomplexiteit van binair zoeken O is (log2N).
  3. Lineair zoeken is iteratief, terwijl Binair zoeken Verdeel en heers.
  4. Bij lineair zoeken moeten we meer code schrijven, terwijl we bij binair zoeken minder code moeten schrijven.

Gevolgtrekking

In dit artikel hierboven zien we het duidelijke verschil tussen lineair zoeken en binair zoeken.

Verklarende video