C++ में गतिशील खोज (Dynamic Search) एल्गोरिथम- स्पष्टीकरण, उदाहरण और कोड

डायनामिक सर्च एल्गोरिदम, जिसे "सर्च-एज़-यू-टाइप" एल्गोरिदम के रूप में भी जाना जाता है, आमतौर पर खोज बार में स्वत: पूर्ण जैसी सुविधाओं को लागू करने के लिए उपयोग किया जाता है। यह एल्गोरिदम उपयोगकर्ता के इनपुट और उपलब्ध डेटा के आधार पर वास्तविक समय के सुझाव प्रदान करता है।

यह काम किस प्रकार करता है

  1. आइटमों की सूची वाले डेटासेट से प्रारंभ करें(उदाहरण के लिए, शब्द, नाम या उत्पाद)।
  2. जैसे ही उपयोगकर्ता प्रत्येक वर्ण टाइप करता है, खोज क्वेरी अपडेट करें।
  3. वर्तमान खोज क्वेरी के आधार पर डेटासेट फ़िल्टर करें।
  4. वास्तविक समय में उपयोगकर्ता को फ़िल्टर किए गए परिणाम प्रदर्शित करें।

उदाहरण

प्रोग्रामिंग भाषाओं के डेटासेट पर विचार करें: ["C", "C++", " Java ", " Python ", " JavaScript ", " Ruby ", " Swift "]।

  1. उपयोगकर्ता प्रकार "सी"। फ़िल्टर किए गए परिणाम: ["सी", "सी++"]।
  2. उपयोगकर्ता प्रकार "C++"। फ़िल्टर किए गए परिणाम: ["C++"]।
  3. उपयोगकर्ता प्रकार " Java ". फ़िल्टर किए गए परिणाम: [" Java ", " JavaScript "]।
  4. उपयोगकर्ता प्रकार "Py"। फ़िल्टर किए गए परिणाम: [" Python "]।
  5. उपयोगकर्ता प्रकार "Jav"। फ़िल्टर किए गए परिणाम: [" Java ", " JavaScript "]।

C++ में उदाहरण कोड

#include <iostream>  
#include <vector>  
#include <string>  
  
std::vector<std::string> dynamicSearch(const std::vector<std::string>& dataset, const std::string& query) {  
    std::vector<std::string> results;  
  
    for(const std::string& item: dataset) {  
        if(item.find(query) != std::string::npos) {  
            results.push_back(item);  
        }  
    }  
  
    return results;  
}  
  
int main() {  
    std::vector<std::string> programmingLanguages = {"C", "C++", "Java", "Python", "JavaScript", "Ruby", "Swift"};  
    std::string userQuery = "Jav";  
  
    std::vector<std::string> suggestions = dynamicSearch(programmingLanguages, userQuery);  
  
    std::cout << "Suggestions for query '" << userQuery << "': ";  
    for(const std::string& suggestion: suggestions) {  
        std::cout << suggestion << ";  
    }  
    std::cout << std::endl;  
  
    return 0;  
}  

इस उदाहरण में, dynamicSearch फ़ंक्शन प्रोग्रामिंग भाषाओं का डेटासेट और उपयोगकर्ता क्वेरी को इनपुट के रूप में लेता है। यह वर्तमान क्वेरी के आधार पर सुझाव लौटाता है। जैसे ही उपयोगकर्ता अक्षर टाइप करता है, एल्गोरिदम डेटासेट को फ़िल्टर करता है और वास्तविक समय के सुझाव प्रदर्शित करता है।

नोट: गतिशील खोज का वास्तविक कार्यान्वयन अधिक जटिल हो सकता है, जिसमें बड़े डेटासेट के लिए त्रि संरचना या कुशल अनुक्रमण जैसी तकनीकें शामिल हो सकती हैं।