(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 فنکشن پروگرامنگ زبانوں کا ڈیٹاسیٹ اور صارف کے سوال کو بطور ان پٹ لیتا ہے۔ یہ موجودہ استفسار کی بنیاد پر تجاویز واپس کرتا ہے۔ جیسا کہ صارف حروف کو ٹائپ کرتا ہے، الگورتھم ڈیٹاسیٹ کو فلٹر کرتا ہے اور ریئل ٹائم تجاویز دکھاتا ہے۔

نوٹ: متحرک تلاش کا اصل نفاذ زیادہ پیچیدہ ہو سکتا ہے، جس میں بڑے ڈیٹا سیٹس کے لیے ٹرائی سٹرکچرز یا موثر انڈیکسنگ جیسی تکنیکیں شامل ہیں۔