Algoritma telusuran dinamis, uga dikenal minangka algoritma "search-as-you-type", biasane digunakake kanggo ngleksanakake fitur kaya autocomplete ing bar telusuran. Algoritma iki menehi saran wektu nyata adhedhasar input pangguna lan data sing kasedhiya.
Cara Kerjane
- Miwiti karo set data sing ngemot dhaptar item(contone, tembung, jeneng utawa produk).
- Nalika pangguna ngetik saben karakter, nganyari pitakon telusuran.
- Nyaring set data adhedhasar pitakon telusuran saiki.
- Tampilake asil sing disaring menyang pangguna ing wektu nyata.
Tuladha
Coba dataset basa pemrograman: ["C", "C++", " Java ", " Python ", JavaScript ", " Ruby ", " Swift "].
- Tipe pangguna "C". Hasil sing disaring: ["C", "C++"].
- Tipe panganggo "C++". Hasil sing disaring: ["C++"].
- Jinis pangguna " Java ". Hasil sing disaring: [" Java ", " JavaScript "].
- Tipe pangguna "Py". Hasil sing disaring: [" Python "].
- Jinis pangguna "Jav". Hasil sing disaring: [" Java ", " JavaScript "].
Tuladha Kode ing 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;
}
Ing conto iki, dynamicSearch
fungsi kasebut njupuk dataset saka basa pamrograman lan pitakon pangguna minangka input. Iki ngasilake saran adhedhasar pitakon saiki. Nalika pangguna ngetik karakter, algoritma nyaring set data lan nampilake saran wektu nyata.
Cathetan: Implementasi nyata saka telusuran dinamis bisa dadi luwih rumit, nglibatake teknik kaya struktur trie utawa indeksasi sing efisien kanggo kumpulan data gedhe.