Maison >développement back-end >tutoriel php >Quelles sont les complexités Big-O Time des fonctions PHP courantes ?

Quelles sont les complexités Big-O Time des fonctions PHP courantes ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-04 02:23:10416parcourir

What are the Big-O Time Complexities of Common PHP Functions?

Complexités temporelles Big-O pour les fonctions PHP

Cet article présente une compilation des complexités temporelles Big-O théoriques et pratiques pour certaines des fonctions PHP les plus couramment utilisées. dans les fonctions.

Fonctions de recherche

  • isset( $array[$index] ) et array_key_exists : bien qu'elles soient classées comme O(n), ces fonctions effectuent des recherches de hachage proches de O(1).
  • in_array : effectue une recherche linéaire dans le tableau, ce qui entraîne une complexité O(n).
  • array_search : similaire à in_array, mais renvoie la valeur, conduisant à une complexité O(n).

File d'attente Fonctions

  • array_push : O(∑ var_i)
  • array_pop : O(1)
  • array_shift : O(n)
  • array_unshift : O (n ∑ var_i)

Intersection, union et soustraction de tableau

  • array_intersect_key : O(Max(param_i_size) * ∑param_i_count) pour une intersection à 100 %, ou O(∑param_i_size) pour 0% intersection.
  • array_intersect : O(n^2 * ∑param_i_count) pour 100 % d'intersection, ou O(n^2) pour 0 % d'intersection.
  • array_intersect_assoc : similaire à array_intersect_key.
  • array_diff : O(π param_i_size) pour tous les paramètres.
  • array_diff_key : O(∑ param_i_size) pour tous les paramètres non égaux au premier.
  • array_merge : O(∑ array_i) pour tous les paramètres sauf le premier.
  • (union) : O(n) pour la seconde array.
  • array_replace : O(∑ array_i) pour tous les paramètres.

Fonctions aléatoires

  • shuffle : O(n)
  • array_rand : O(n)

Big-O évident Fonctions

  • array_fill, array_fill_keys : O(n)
  • plage : O(n)
  • array_splice, array_slice : O(longueur de décalage)
  • array_keys, array_values : O(n)
  • array_reverse : O(n)
  • array_pad : O(pad_size)
  • array_flip : O(n)
  • array_sum, array_product : O(n)
  • array_reduce : O(n)
  • array_filter, array_map : O(n)
  • array_chunk, array_combine : O(n)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn