Verschil tussen binaire zoek en lineair zoeken

Anonim

Binair zoeken tegen lineair zoeken

Lineaire zoek, ook bekend als de opeenvolgende zoekopdracht is het eenvoudigste zoekalgoritme. Het zoekt naar een bepaalde waarde in een lijst door elk element in de lijst te controleren. Binair zoeken is ook een methode om een ​​bepaalde waarde op een gesorteerde lijst te lokaliseren. Binaire zoekmethode helpt het aantal elementen gecontroleerd (in elke iteratie), waardoor de tijd die nodig is om het gegeven item in de lijst te lokaliseren, wordt verminderd.

Wat is Lineair zoeken?

Lineair zoeken is de eenvoudigste zoekmethode, die elk element in een lijst controleert tot het een bepaald element vindt. De invoer van de lineaire zoekmethode is een volgorde (zoals een array, verzameling of een tekenreeks) en het object dat moet worden gezocht. De uitvoer is waar als het opgegeven item binnen de opgegeven volgorde of onjuist is als het niet in de volgorde is. Aangezien deze methode elk onderdeel in de lijst controleert tot het opgegeven item is gevonden, gaat het in het ergste geval door alle elementen in de lijst voordat het het vereiste element vindt. De complexiteit van de lineaire zoekopdracht is o (n). Daarom wordt het te langzaam beschouwd om te worden gebruikt bij het zoeken naar elementen in grote lijsten. Maar dit is heel eenvoudig en makkelijker te implementeren.

Wat is Binary Search?

Binair zoeken is ook een methode om een ​​gespecificeerd item op een gesorteerde lijst te lokaliseren. Deze methode start met het vergelijken van het gezochte element met de elementen in het midden van de lijst. Als de vergelijking bepaalt dat de twee elementen gelijk zijn, stopt de methode en keert de positie van het element terug. Als het gezochte element groter is dan het middelste element, start het de methode opnieuw met alleen de onderste helft van de gesorteerde lijst. Als het gezochte element minder is dan het middenelement, start het de methode opnieuw met alleen de bovenste helft van de gesorteerde lijst. Als het gezochte element niet binnen de lijst staat, zal de methode een unieke waarde geven die daarop aanduidt. Daarom helpt de binaire zoekmethode het aantal elementen vergeleken (in elke iteratie), afhankelijk van het resultaat van de vergelijking. Bijgevolg loopt binary search in logaritmische tijd, wat resulteert in o (log n) gemiddelde case performance.

Wat is het verschil tussen Binary Search en Linear Search?

Hoewel zowel lineaire zoek- als binaire zoekmethoden zoeken, hebben ze verschillende verschillen. Terwijl binair zoeken werkt op gesorteerde lijsten, kan liner zoeken ook werken op ongesorteerde lijsten. Het sorteren van een lijst heeft over het algemeen een gemiddelde complexiteit van n log n. lineaire zoeken is eenvoudig en eenvoudig te implementeren dan de binaire zoekopdracht. Maar lineaire zoeken is te traag om te gebruiken bij grote lijsten door zijn o (n) gemiddelde case performance.Aan de andere kant wordt binaire zoekopdracht beschouwd als een efficiëntere methode die kan worden gebruikt bij grote lijsten. Maar het uitvoeren van de binaire zoekopdracht kan heel lastig zijn en een studie heeft aangetoond dat de nauwkeurige code voor binaire zoek in slechts vijf uit de twintig boeken kon worden gevonden.