(Dynamic Search) C++ मधील डायनॅमिक सर्च अल्गोरिदम- स्पष्टीकरण, उदाहरण आणि कोड

डायनॅमिक शोध अल्गोरिदम, ज्याला "सर्च-एज-यू-टाइप" अल्गोरिदम देखील म्हणतात, सामान्यतः शोध बारमध्ये स्वयंपूर्ण सारख्या वैशिष्ट्यांची अंमलबजावणी करण्यासाठी वापरले जाते. हे अल्गोरिदम वापरकर्त्याच्या इनपुट आणि उपलब्ध डेटावर आधारित रिअल-टाइम सूचना प्रदान करते.

हे कसे कार्य करते

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

उदाहरण

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

  1. वापरकर्ता प्रकार "C". फिल्टर केलेले परिणाम: ["C", "C++"].
  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 फंक्शन प्रोग्रामिंग भाषांचा डेटासेट आणि इनपुट म्हणून वापरकर्ता क्वेरी घेते. हे वर्तमान क्वेरीवर आधारित सूचना परत करते. जसे वापरकर्ता वर्ण टाइप करतो, अल्गोरिदम डेटासेट फिल्टर करतो आणि रिअल-टाइम सूचना प्रदर्शित करतो.

टीप: डायनॅमिक शोधाची वास्तविक अंमलबजावणी अधिक क्लिष्ट असू शकते, ज्यामध्ये ट्राय स्ट्रक्चर्स किंवा मोठ्या डेटासेटसाठी कार्यक्षम अनुक्रमणिका यासारख्या तंत्रांचा समावेश आहे.