C++ ਵਿੱਚ ਡਾਇਨਾਮਿਕ ਖੋਜ (Dynamic Search) ਐਲਗੋਰਿਦਮ- ਵਿਆਖਿਆ, ਉਦਾਹਰਨ ਅਤੇ ਕੋਡ

ਗਤੀਸ਼ੀਲ ਖੋਜ ਐਲਗੋਰਿਦਮ, ਜਿਸ ਨੂੰ "ਖੋਜ-ਜਿਵੇਂ-ਯੂ-ਟਾਈਪ" ਐਲਗੋਰਿਦਮ ਵਜੋਂ ਵੀ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ, ਆਮ ਤੌਰ 'ਤੇ ਖੋਜ ਬਾਰਾਂ ਵਿੱਚ ਸਵੈ-ਮੁਕੰਮਲ ਵਰਗੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਐਲਗੋਰਿਦਮ ਉਪਭੋਗਤਾ ਦੇ ਇਨਪੁਟ ਅਤੇ ਉਪਲਬਧ ਡੇਟਾ ਦੇ ਅਧਾਰ ਤੇ ਅਸਲ-ਸਮੇਂ ਦੇ ਸੁਝਾਅ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।

ਕਿਦਾ ਚਲਦਾ

  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 ਫੰਕਸ਼ਨ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਦਾ ਇੱਕ ਡੇਟਾਸੈਟ ਅਤੇ ਇੱਕ ਉਪਭੋਗਤਾ ਪੁੱਛਗਿੱਛ ਨੂੰ ਇਨਪੁਟਸ ਵਜੋਂ ਲੈਂਦਾ ਹੈ। ਇਹ ਮੌਜੂਦਾ ਪੁੱਛਗਿੱਛ ਦੇ ਆਧਾਰ 'ਤੇ ਸੁਝਾਅ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਜਿਵੇਂ ਕਿ ਉਪਭੋਗਤਾ ਅੱਖਰ ਟਾਈਪ ਕਰਦਾ ਹੈ, ਐਲਗੋਰਿਦਮ ਡੇਟਾਸੈਟ ਨੂੰ ਫਿਲਟਰ ਕਰਦਾ ਹੈ ਅਤੇ ਅਸਲ-ਸਮੇਂ ਦੇ ਸੁਝਾਅ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦਾ ਹੈ।

ਨੋਟ: ਡਾਇਨਾਮਿਕ ਖੋਜ ਦਾ ਅਸਲ ਲਾਗੂ ਕਰਨਾ ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਹੋ ਸਕਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਟ੍ਰਾਈ ਸਟ੍ਰਕਚਰ ਜਾਂ ਵੱਡੇ ਡੇਟਾਸੈਟਾਂ ਲਈ ਕੁਸ਼ਲ ਇੰਡੈਕਸਿੰਗ ਵਰਗੀਆਂ ਤਕਨੀਕਾਂ ਸ਼ਾਮਲ ਹਨ।