Algoritme penelusuran dinamis, juga dikenal sebagai algoritme "telusuri sesuai keinginan", biasanya digunakan untuk mengimplementasikan fitur seperti pelengkapan otomatis di bilah penelusuran. Algoritme ini memberikan saran waktu nyata berdasarkan input pengguna dan data yang tersedia.
Bagaimana itu bekerja
- Mulailah dengan kumpulan data yang berisi daftar item(misalnya, kata, nama, atau produk).
- Saat pengguna mengetik setiap karakter, perbarui permintaan pencarian.
- Filter kumpulan data berdasarkan permintaan pencarian saat ini.
- Menampilkan hasil yang difilter kepada pengguna secara real-time.
Contoh
Pertimbangkan kumpulan data bahasa pemrograman: ["C", "C++", " Java ", " Python ", JavaScript ", " Ruby ", " Swift "].
- Jenis pengguna "C". Hasil yang difilter: ["C", "C++"].
- Jenis pengguna "C++". Hasil yang difilter: ["C++"].
- Jenis pengguna " Java ". Hasil yang difilter: [" Java ", " JavaScript "].
- Jenis pengguna "Py". Hasil yang difilter: [" Python "].
- Jenis pengguna "Jav". Hasil yang difilter: [" Java ", " JavaScript "].
Contoh Kode di 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;
}
Dalam contoh ini, dynamicSearch
fungsi mengambil dataset dari bahasa pemrograman dan kueri pengguna sebagai masukan. Ini mengembalikan saran berdasarkan kueri saat ini. Saat pengguna mengetik karakter, algoritme memfilter kumpulan data dan menampilkan saran waktu nyata.
Catatan: Implementasi sebenarnya dari pencarian dinamis bisa lebih kompleks, melibatkan teknik seperti struktur trie atau pengindeksan yang efisien untuk kumpulan data besar.