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 செயல்பாடு நிரலாக்க மொழிகளின் தரவுத்தொகுப்பையும் பயனர் வினவலையும் உள்ளீடுகளாக எடுத்துக்கொள்கிறது. தற்போதைய வினவலின் அடிப்படையில் இது பரிந்துரைகளை வழங்குகிறது. பயனர் எழுத்துகளை உள்ளிடும்போது, ​​அல்காரிதம் தரவுத்தொகுப்பை வடிகட்டுகிறது மற்றும் நிகழ்நேர பரிந்துரைகளைக் காட்டுகிறது.

குறிப்பு: டைனமிக் தேடலின் உண்மையான செயலாக்கம் மிகவும் சிக்கலானதாக இருக்கலாம், இதில் ட்ரை கட்டமைப்புகள் அல்லது பெரிய தரவுத்தொகுப்புகளுக்கான திறமையான அட்டவணைப்படுத்தல் போன்ற நுட்பங்கள் அடங்கும்.