Maison > développement back-end > C++ > le corps du texte

Comment utiliser les algorithmes de recherche en C++

王林
Libérer: 2023-09-19 09:00:46
original
1525 Les gens l'ont consulté

Comment utiliser les algorithmes de recherche en C++

Comment utiliser l'algorithme de recherche en C++

L'algorithme de recherche est un algorithme très important en informatique, qui est utilisé pour trouver des éléments spécifiques dans une collection de données. Le langage C++ fournit de nombreux algorithmes de recherche intégrés, tels que la recherche linéaire, la recherche binaire, etc. Cet article explique comment utiliser les algorithmes de recherche en C++ et fournit des exemples de code spécifiques.

1. Recherche linéaire

La recherche linéaire est un algorithme de recherche simple et direct. Son principe est de comparer l'élément à trouver avec chaque élément de l'ensemble de données un par un jusqu'à ce qu'un élément correspondant soit trouvé ou que l'ensemble des données soit trouvé. parcouru.

C++ propose plusieurs algorithmes de recherche linéaire, dont le plus couramment utilisé est la fonction find. Voici un exemple de code pour une recherche linéaire à l'aide de la fonction find :

#include <iostream>
#include <algorithm>
#include <vector>

int main() {
    std::vector<int> data = {1, 2, 3, 4, 5};
    int target = 3;
    
    auto result = std::find(data.begin(), data.end(), target);
    
    if (result != data.end()) {
        std::cout << "找到了目标元素 " << target << std::endl;
    } else {
        std::cout << "未找到目标元素 " << target << std::endl;
    }
    
    return 0;
}
Copier après la connexion

Dans le code ci-dessus, un conteneur de données vectoriel est d'abord créé, qui contient des éléments entiers. Ensuite, un élément cible target est défini et la fonction find est utilisée pour effectuer une recherche linéaire dans le conteneur de données. Si l'élément cible est trouvé, affichez "Élément cible trouvé", sinon affichez "Élément cible non trouvé".

2. Recherche binaire

La recherche binaire est un algorithme de recherche efficace, et son principe est que l'ensemble de données est déjà ordonné. Le principe est d'abord de diviser l'ensemble de données en deux parties, puis de déterminer la relation de taille entre l'élément cible et l'élément intermédiaire pour déterminer dans quelle partie se trouve l'élément cible, puis d'effectuer une recherche binaire dans cette partie jusqu'à ce que l'élément cible est trouvé ou le binaire ne peut pas continuer.

C++ fournit des fonctions telles que l'algorithme de recherche binaire lower_bound et upper_bound. Voici un exemple de code pour la recherche binaire à l'aide de la fonction lower_bound :

#include <iostream>
#include <algorithm>
#include <vector>

int main() {
    std::vector<int> data = {1, 2, 3, 4, 5};
    int target = 3;
    
    auto result = std::lower_bound(data.begin(), data.end(), target);
    
    if (result != data.end() && *result == target) {
        std::cout << "找到了目标元素 " << target << std::endl;
    } else {
        std::cout << "未找到目标元素 " << target << std::endl;
    }
    
    return 0;
}
Copier après la connexion

Dans le code ci-dessus, un conteneur de données vectoriel est également d'abord créé et un élément cible target est défini. Utilisez ensuite la fonction lower_bound pour effectuer une recherche binaire dans le conteneur de données. Si l'élément cible est trouvé et que l'élément pointé par le pointeur de résultat est égal à l'élément cible, alors « élément cible trouvé » est affiché, sinon « élément cible ». introuvable" est affiché.

Il est à noter que l'algorithme de recherche binaire nécessite que l'ensemble de données soit déjà ordonné. Par conséquent, les données doivent être triées avant d’utiliser l’algorithme de recherche binaire.

En résumé, cet article présente comment utiliser l'algorithme de recherche en C++ et fournit des exemples de code spécifiques. Ces algorithmes de recherche sont très utiles dans la programmation pratique et peuvent nous aider à trouver efficacement des éléments spécifiques. Dans le même temps, en comprenant les principes et l’utilisation des algorithmes de recherche, nous pouvons améliorer nos capacités de programmation et mieux résoudre des problèmes pratiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!