Javascript: Quel est l'algorithmique de la performance de "splice'?

Qui est, serais-je mieux d'utiliser une sorte d'arbre ou d'ignorer la structure de données de liste, si j'ai besoin d'être à l'appel de cette fonction de beaucoup pour le tableau individuels insertions?

  • Tester! C'est la meilleure façon de répondre à cette question...
  • Ce qui est un bon moyen de tester cela?
  • Si JavaScript est tableaux sont vraiment des tableaux, c'est O(n).
  • Dans ce cas, je serais mieux avec une autre structure de données, droit?
  • IE utilisé un algorithme de hachage pour les tableaux, si je me souviens bien.
  • En cas splice supprime ou ajoute des éléments, vous aurez besoin de créer un nouveau tableau avec la nouvelle longueur et de la copier au moins tous les éléments avant la suppression/insertion de la position et de tous les éléments à partir de cette position, qu'il n'est O(n). Seuls les en-lieu de remplacement prendra juste O(1) pour chaque élément remplacé.
  • Ouais, je suppose que ça a du sens.
  • JavaScript tableaux ne sont pas vraiment des tableaux (ils sont juste des cartes avec des clés de chaîne qui sont [principalement] tout-numérique et de la magie length de la propriété), il est donc totalement dépendant de l'implémentation.
  • Ils ont les clés devront encore être modifié individuellement à partir de l'élément inséré, bien. Toujours O(n) je crois.

InformationsquelleAutor Hamster | 2010-11-19