C++లో డైనమిక్ శోధన (Dynamic Search) అల్గోరిథం- వివరణ, ఉదాహరణ మరియు కోడ్

డైనమిక్ సెర్చ్ అల్గోరిథం, "సెర్చ్-యాజ్-యు-టైప్" అల్గోరిథం అని కూడా పిలుస్తారు, సాధారణంగా సెర్చ్ బార్‌లలో ఆటోకంప్లీట్ వంటి ఫీచర్లను అమలు చేయడానికి ఉపయోగిస్తారు. ఈ అల్గారిథమ్ వినియోగదారు ఇన్‌పుట్ మరియు అందుబాటులో ఉన్న డేటా ఆధారంగా నిజ-సమయ సూచనలను అందిస్తుంది.

అది ఎలా పని చేస్తుంది

  1. అంశాల జాబితా(ఉదా, పదాలు, పేర్లు లేదా ఉత్పత్తులు) ఉన్న డేటాసెట్‌తో ప్రారంభించండి.
  2. వినియోగదారు ప్రతి అక్షరాన్ని టైప్ చేస్తున్నప్పుడు, శోధన ప్రశ్నను నవీకరించండి.
  3. ప్రస్తుత శోధన ప్రశ్న ఆధారంగా డేటాసెట్‌ను ఫిల్టర్ చేయండి.
  4. ఫిల్టర్ చేసిన ఫలితాలను వినియోగదారుకు నిజ సమయంలో ప్రదర్శించండి.

ఉదాహరణ

ప్రోగ్రామింగ్ భాషల డేటాసెట్‌ను పరిగణించండి: ["C", "C++", " Java, " Python ", " JavaScript ", " Ruby ", " Swift "].

  1. వినియోగదారు రకాలు "సి". ఫిల్టర్ చేసిన ఫలితాలు: ["C", "C++"].
  2. వినియోగదారు రకాలు "C++". ఫిల్టర్ చేసిన ఫలితాలు: ["C++"].
  3. వినియోగదారు రకాలు " Java ". ఫిల్టర్ చేసిన ఫలితాలు: [" Java ", " JavaScript "].
  4. వినియోగదారు రకాలు "Py". ఫిల్టర్ చేసిన ఫలితాలు: [" Python "].
  5. వినియోగదారు రకాలు "జావ్". ఫిల్టర్ చేసిన ఫలితాలు: [" 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 ఫంక్షన్ ప్రోగ్రామింగ్ భాషల డేటాసెట్‌ను మరియు వినియోగదారు ప్రశ్నను ఇన్‌పుట్‌లుగా తీసుకుంటుంది. ఇది ప్రస్తుత ప్రశ్న ఆధారంగా సూచనలను అందిస్తుంది. వినియోగదారు అక్షరాలను టైప్ చేస్తున్నప్పుడు, అల్గోరిథం డేటాసెట్‌ను ఫిల్టర్ చేస్తుంది మరియు నిజ-సమయ సూచనలను ప్రదర్శిస్తుంది.

గమనిక: డైనమిక్ శోధన యొక్క వాస్తవ అమలు మరింత సంక్లిష్టంగా ఉంటుంది, ఇందులో ట్రై స్ట్రక్చర్‌లు లేదా పెద్ద డేటాసెట్‌ల కోసం సమర్థవంతమైన ఇండెక్సింగ్ వంటి సాంకేతికతలు ఉంటాయి.