L-algoritmu ta' tfittxija dinamika, magħruf ukoll bħala l-algoritmu ta' "tfittxija kif tip inti", huwa komunement użat biex jimplimenta karatteristiċi bħall-awtokompletazzjoni fil-vireg tat-tiftix. Dan l-algoritmu jipprovdi suġġerimenti f'ħin reali bbażati fuq id-dħul tal-utent u d-dejta disponibbli.
Kif taħdem
- Ibda b'sett tad-dejta li jkun fih lista ta' oġġetti(eż., kliem, ismijiet jew prodotti).
- Hekk kif l-utent ittajpja kull karattru, aġġorna l-mistoqsija tat-tfittxija.
- Iffiltra s-sett tad-dejta bbażat fuq it-tfittxija attwali.
- Uri r-riżultati ffiltrati lill-utent f'ħin reali.
Eżempju
Ikkunsidra dataset ta' lingwi ta' programmar: ["C", "C++", " Java ", " Python ", " JavaScript ", " Ruby ", " Swift "].
- Utenti tipi "C". Riżultati ffiltrati: ["C", "C++"].
- Utenti tipi "C++". Riżultati ffiltrati: ["C++"].
- Tipi ta' utenti " Java ". Riżultati ffiltrati: [" Java ", " JavaScript "].
- Tipi ta' utenti "Py". Riżultati ffiltrati: [" Python "].
- Utenti tipi "Jav". Riżultati ffiltrati: [" Java ", " JavaScript "].
Eżempju Kodiċi f'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;
}
F'dan l-eżempju, il- dynamicSearch
funzjoni tieħu dataset ta' lingwi ta' programmar u mistoqsija tal-utent bħala inputs. Jirritorna suġġerimenti bbażati fuq il-mistoqsija attwali. Hekk kif l-utent ittajpja l-karattri, l-algoritmu jiffiltra s-sett tad-dejta u juri suġġerimenti f'ħin reali.
Nota: L-implimentazzjoni attwali ta 'tfittxija dinamika tista' tkun aktar kumplessa, li tinvolvi tekniki bħal trie structures jew indiċjar effiċjenti għal datasets kbar.