Systèmes de contrôle et automatisation
Guide étape par étape pour la mise en œuvre de la recherche linéaire et binaire dans les systèmes embarqués
Table of Contents
La recherche linéaire et binaire sont deux méthodes courantes utilisées en fonction de la structure des données et des contraintes du système. Ce guide fournit des instructions étape par étape pour la mise en œuvre des deux algorithmes dans les environnements intégrés.
Mise en œuvre de la recherche linéaire
La recherche linéaire scanne chaque élément d'une liste de façon séquentielle jusqu'à ce que la valeur cible soit trouvée ou que la liste se termine.
Étapes pour mettre en œuvre la recherche linéaire :
- Initialiser une boucle pour itérer à travers le tableau.
- Comparer chaque élément avec la valeur cible.
- Si une correspondance est trouvée, retournez l'index.
- Si la boucle se termine sans qu'une correspondance soit faite, retournez une indication que l'élément n'est pas trouvé.
Exemple d'extrait de code :
En C:
``c int linearSearch(int arr[], int size, int target) { for (int i = 0; i < size; i++) { if (arr[i]= cible) { return i; } } return -1; // Not found } ``
Mise en œuvre de la recherche binaire
La recherche binaire nécessite un tableau trié et divise l'intervalle de recherche en deux fois chaque itération. Elle est plus rapide que la recherche linéaire pour les grands ensembles de données.
Étapes pour mettre en œuvre la recherche binaire :
- Réglez les indices initiaux bas et élevés.
- Calculer l'indice moyen.
- Comparer l'élément du milieu avec la cible.
- Si l'indice est égal, retournez l'indice du milieu.
- Si la cible est moins élevée, ajuster le niveau élevé au milieu - 1.
- Si la cible est plus grande, ajuster bas au milieu + 1.
- Répéter jusqu'à ce que la cible soit trouvée ou faible dépasse la valeur élevée.
Exemple d'extrait de code :
En C:
``c int binaireSearch(int arr[], int size, int target) { int low = 0; int high = size - 1; while (low <= high) { int middle = low + (high - low) / 2; if (arr[mid]= cible) { return midd; } sinon si (arr[mid] < cible) { low = midd + 1; } autre { high = midd - 1; } } return -1; // Non trouvé } ```
Choisir la bonne méthode de recherche
Le choix entre la recherche linéaire et binaire dépend de l'organisation et de la taille des données. Utilisez la recherche linéaire pour les données petites ou non triées. La recherche binaire est adaptée aux ensembles de données grands et triés où les performances sont critiques.