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
Libérer: 2024-12-04 02:23:10
original
512 Les gens l'ont consulté

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal