Table of Contents
Implementere søkealgoritmer i innebygde systemer er avgjørende for effektiv datainnhenting. Linjer og binær søk er to vanlige metoder som brukes avhengig av datastruktur og systembegrensninger. Denne guiden gir trinnvis instruksjoner for å implementere begge algoritmene i innebygde miljøer.
Implementasjon av lineær søk
Linjesøk skanner hvert element i en liste sekvensielt til målverdien er funnet eller listen slutter. Det er enkelt og effektivt for små eller usorterte datasett.
Trinn for å implementere lineær søk:
- Initier en løkke for å iterere gjennom array.
- Sammenlign hvert element med målverdien.
- Hvis det finnes en kamp, returnerer du indeksen.
- Hvis sløyfen fullføres uten en match, returnerer du en indikasjon på at elementet ikke er funnet.
Eksempelkodesnutt:
I C:]
``'c int lineærSearch(int arr[], intenst størrelse, intenst mål) { for (int i = 0; i < størrelse; i++) { hvis (arr[i] == mål) { retur i; } } retur -1; // ikke funnet } ```
Binærsøk implementasjon
Binary-søk krever en sortert rekkevidde og deler søkeintervallet i halvparten av hver iterasjon. Det er raskere enn lineær søk etter store datasett.
Trinn for å implementere binær søk:
- Sett initiale lave og høye indekser.
- Beregn midtindeksen.
- Sammenlign midtelementet med målet.
- Hvis det er lik, returnerer du midtindeksen.
- Hvis målet er mindre, justere høy til midten - 1.
- Hvis målet er større, justere lav til midt + 1.
- Gjenta til målet er funnet eller lavt overskrid høy.
Eksempelkodesnutt:
I C:]
``'c int binarySearch(int arr[], intenst størrelse, intenst mål) { int lav = 0; intenst høy = størrelse - 1; mens (low <= høy) { int midt = lav + (høy - lav) / 2; hvis (arr[mid] == mål) { retur midt; } andre hvis (arr[mid] < mål) { lav = midt + 1; } andre { høy = midt - 1; } retur -1; / ikke funnet } ```
Velg riktig søkemetode
Valget mellom lineær og binær søk avhenger av dataorganisasjon og størrelse. Bruk lineær søk etter små eller usorterte data. Binær søk er egnet for store, sorterte datasett der ytelsen er kritisk.