डायनॅमिक शोध अल्गोरिदम, ज्याला "सर्च-एज-यू-टाइप" अल्गोरिदम देखील म्हणतात, सामान्यतः शोध बारमध्ये स्वयंपूर्ण सारख्या वैशिष्ट्यांची अंमलबजावणी करण्यासाठी वापरले जाते. हे अल्गोरिदम वापरकर्त्याच्या इनपुट आणि उपलब्ध डेटावर आधारित रिअल-टाइम सूचना प्रदान करते.
हे कसे कार्य करते
- आयटमची सूची असलेल्या डेटासेटसह प्रारंभ करा(उदा. शब्द, नावे किंवा उत्पादने).
- वापरकर्ता प्रत्येक वर्ण टाइप करत असताना, शोध क्वेरी अद्यतनित करा.
- वर्तमान शोध क्वेरीवर आधारित डेटासेट फिल्टर करा.
- फिल्टर केलेले परिणाम वापरकर्त्याला रिअल-टाइममध्ये प्रदर्शित करा.
उदाहरण
प्रोग्रामिंग भाषांचा डेटासेट विचारात घ्या: ["C", "C++", " Java " Python " JavaScript " Ruby ] Swift.
- वापरकर्ता प्रकार "C". फिल्टर केलेले परिणाम: ["C", "C++"].
- वापरकर्ता प्रकार "C++". फिल्टर केलेले परिणाम: ["C++"].
- वापरकर्ता प्रकार " Java ". फिल्टर केलेले परिणाम: [" Java "," JavaScript "].
- वापरकर्ता प्रकार "Py". फिल्टर केलेले परिणाम: [" Python "].
- वापरकर्ता प्रकार "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
फंक्शन प्रोग्रामिंग भाषांचा डेटासेट आणि इनपुट म्हणून वापरकर्ता क्वेरी घेते. हे वर्तमान क्वेरीवर आधारित सूचना परत करते. जसे वापरकर्ता वर्ण टाइप करतो, अल्गोरिदम डेटासेट फिल्टर करतो आणि रिअल-टाइम सूचना प्रदर्शित करतो.
टीप: डायनॅमिक शोधाची वास्तविक अंमलबजावणी अधिक क्लिष्ट असू शकते, ज्यामध्ये ट्राय स्ट्रक्चर्स किंवा मोठ्या डेटासेटसाठी कार्यक्षम अनुक्रमणिका यासारख्या तंत्रांचा समावेश आहे.