J'ai une table de hachage, avec des clés de chaîne et des valeurs.Moyen efficace pour réduire le nombre de recherches?
La clé doit être construite en fonction de certains paramètres. Par exemple, param1: param2: param3: param4: param5: param6. Dans le cas où la valeur (la valeur la plus préférée) pour la clé complète n'est pas disponible dans le hachage, je chercherai juste la prochaine valeur préférée en construisant la clé ": param2: param3: param4: param5: param6".
S'il n'y a pas de valeur, je construis une clé avec une certaine combinaison de paramètres en supprimant un ou plusieurs des paramètres. Donc, fondamentalement, il existe une hiérarchie de recherches de clés basée sur certaines préférences.
Mon approche actuelle est de construire une clé, une recherche, puis si elle n'est pas trouvée dans le hachage, construire la clé suivante dans la hiérarchie et ainsi de suite ... Mais cela peut aboutir à de nombreuses recherches avant ou non valeur. Notez qu'il peut y avoir plus d'une clé retournant la valeur, par exemple à la fois "param1: param2: param3: param4: param5: param6" et ": param2: param3: param4: param5: param6" peuvent avoir la valeur, mais je préfère la valeur de la première clé et ne recherchera même pas la seconde.
Je pense qu'il pourrait y avoir un moyen plus efficace d'aborder cela. Quel est le moyen le plus efficace de faire ce genre de recherche?
Êtes-vous d'accord pour personnaliser votre propre fonction de hachage pour cela? –
Je préférerais ne pas personnaliser la fonction de hachage car j'utilise des bibliothèques existantes. Je ne peux que personnaliser les clés et les valeurs. Cependant, si je peux personnaliser, comment cela pourrait-il aider? – Nura
Aussi, avez-vous la langue préférée avec laquelle vous résolvez ce problème? –