introduction searching algorithms c
Een overzicht van zoekalgoritmen in C ++.
We blijven zoeken naar het een of het ander in ons dagelijks leven. Net als in ons dagelijks leven moeten we als softwareprofessional informatie zoeken op onze computer. Het opvragen van informatie moet snel gebeuren, aangezien we het ons niet kunnen veroorloven veel tijd te verspillen aan het zoeken naar informatie.
Daarom hebben we een aantal efficiënte zoektechnieken of algoritmen nodig die in korte tijd een bepaald stuk informatie kunnen doorzoeken en aan de gebruiker kunnen geven, zodat de gebruiker verder kan gaan met de andere taken.
Bezoek hier voor de volledige C ++ Tutorials-lijst.
Wat je leert:
Zoektechnieken
We hebben twee belangrijke zoektechnieken die meestal worden gebruikt om naar informatie te zoeken.
Waaronder:
- Lineair zoeken
- Binaire zoekopdracht
In deze tutorial zullen we beide zoektechnieken in detail onderzoeken.
Lineair zoeken
Dit is de meest basale zoektechniek en is ook gemakkelijker te implementeren. Bij een lineaire zoekopdracht wordt de te doorzoeken sleutel lineair vergeleken met elk element van de gegevensverzameling. Deze techniek werkt effectief op lineaire datastructuren.
Laten we de volgende array bekijken.
Hierboven ziet u de reeks van zeven elementen. Als we sleutel = 23 willen zoeken, dan beginnen we bij de 0thelement, wordt de sleutelwaarde vergeleken met elk element. Zodra het sleutelelement overeenkomt met het element in de array, wordt die specifieke locatie geretourneerd. In dit geval wordt locatie 4 geretourneerd omdat de sleutelwaarde overeenkomt met de waarde op die locatie.
We hebben een lineaire zoekopdracht geïmplementeerd met behulp van C ++ en Java-taal hieronder.
C ++ implementatie
Uitgang:
welke van de volgende biedt een programma op afstand dat eruitziet en aanvoelt als een lokale applicatie?
De invoerarray is
21 43 23 54 75 13 5 8 25 10
Voer de sleutel in die moet worden gezocht: 3
Kan de opgegeven sleutel in de array niet vinden
De invoerarray is
21 43 23 54 75 13 5 8 25 10
Voer de sleutel in die moet worden gezocht: 75
Sleutel gevonden op positie 5 in de array
Java-implementatie
Uitgang:
De invoerarray is
21 43 23 54 75 13 5 8 25 10
Enter toets
2. 3
sleutel gevonden op locatie 3
hoe je een Java-applicatie maakt in Eclipse
Lineair zoeken kan worden uitgevoerd op elke lineaire gegevensstructuur met gesorteerde of ongesorteerde elementen. Maar het duurt langer als er te veel elementen zijn en als het sleutelelement zich tegen het einde bevindt, aangezien elk element wordt vergeleken met de sleutelwaarde.
Binaire zoekopdracht
Binair zoeken is een techniek die de 'verdeel en heers' -techniek gebruikt om naar een sleutel te zoeken. Het werkt op een gesorteerde lineaire lijst met elementen. De gesorteerde lijst is de basisvereiste voor een binaire zoekopdracht om te werken.
Bij de binaire zoekmethode wordt de lijst herhaaldelijk in tweeën gedeeld en wordt het sleutelelement doorzocht in beide helften van de lijst totdat de sleutel is gevonden.
Bijvoorbeeld,laten we de volgende gesorteerde reeks van 10 elementen nemen.
Laten we zeggen dat de sleutel = 21 moet worden doorzocht in de array.
Laten we de middelste locatie van de array berekenen.
Midden = 0 + 9/2 = 4
Bijvoorbeeld,laten we de volgende gesorteerde reeks van 10 elementen nemen.
Sleutel = 21
Eerst zullen we de sleutelwaarde vergelijken met het (mid) -element. We vinden dat de elementwaarde midden = 21.
We vinden dus dat key = (mid). Daarom is de sleutel gevonden.
sleutel = 25
We vergelijken eerst de sleutelwaarde met midden. Dus (21<25), we will directly search for the key in the upper half of the array.
hoe u een firewall op een netwerk instelt
Nu vinden we weer het midden van de bovenste helft van de array.
Midden = 4 + 9/2 = 6
De waarde op locatie (mid) = 25
Nu vergelijken we het sleutelelement met het middenelement. Dus (25 == 25), dus we hebben de sleutel gevonden op locatie (mid).
We verdelen de array herhaaldelijk en door het sleutelelement met het midden te vergelijken, beslissen we in welke helft we naar de sleutel zoeken.
Hieronder staan de C ++ en Java-implementatie voor binair zoeken.
C ++ implementatie
Uitgang:
De invoerarray is
5 8 10 13 21 23 25 43 54 75
Voer de sleutel in die moet worden gezocht: 21
Sleutel gevonden op locatie 5
Java-implementatie
Uitgang:
De invoerarray is
5 8 10 13 21 23 25 43 54 75
Voer de sleutel in die moet worden gezocht
eenentwintig
de locatie van de sleutel is 5
Binair zoeken is efficiënter in termen van tijd en correctheid. Lineaire zoektechniek wordt zelden gebruikt omdat deze omslachtiger en trager is. Binair zoeken is veel sneller in vergelijking met lineair zoeken.
Gevolgtrekking
De zoektechnieken helpen ons bij het zoeken naar informatie die op een computer is opgeslagen, zodat de gebruiker verder kan gaan met de andere taken van informatieverwerking. Lineaire zoektechniek is eenvoudig en gemakkelijker, maar wordt niet veel gebruikt.
Binaire zoektechniek is veel sneller en efficiënter en wordt daarom op grote schaal gebruikt.
In onze aanstaande tutorial zullen we de verschillende sorteertechnieken in detail onderzoeken.
Bekijk hier de perfecte C ++ trainingsgids.
Aanbevolen literatuur
- Inleiding tot de programmeertaal van Java - videozelfstudie
- Inleiding tot Appium Studio: belangrijkste voordelen en functies
- Algoritmen in STL
- Beste GRATIS C # Tutorial-serie: de ultieme C # -gids voor beginners
- JMeter Video 1: Inleiding, JMeter downloaden en installeren
- Python introductie en installatieproces
- Wat is Unix: een korte introductie tot Unix
- Introductie tot Micro Focus LoadRunner - Load Testing met LoadRunner Tutorial # 1