J'essaie d'optimiser une fonction qui fait une recherche binaire de chaînes en Javascript.Comment comparer les chaînes de caractères de manière optimale?
La recherche binaire nécessite que vous sachiez si la clé est ==
le pivot ou <
le pivot.
Mais cela nécessite deux comparaisons de chaînes en Javascript, contrairement à C
comme les langues qui ont la fonction strcmp()
qui renvoie trois valeurs (-1, 0, +1) pour (inférieur à, égal, supérieur à).
Existe-t-il une telle fonction native dans Javascript, qui peut renvoyer une valeur ternaire afin qu'une seule comparaison soit requise dans chaque itération de la recherche binaire?
'retour str1 str2; '? –
@ 1 "Ce n'est pas optimal, il faut deux comparaisons de chaînes – HRJ
C'est encore un ordre de grandeur (!) Plus rapide que' localeCompare() 'sur ma machine @ Le custom strcmp()' de Gumbo peut être plus rapide, selon l'optimisation l'implémentation interne des comparaisons d'égalité pour les chaînes est –