>백엔드 개발 >PHP 튜토리얼 >일반적인 PHP 함수의 Big-O 시간 복잡성은 무엇입니까?

일반적인 PHP 함수의 Big-O 시간 복잡성은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-04 02:23:10415검색

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

PHP 함수에 대한 Big-O 시간 복잡도

이 기사에서는 가장 일반적으로 사용되는 일부 PHP 내장 기능에 대한 이론적 및 실제 Big-O 시간 복잡도를 정리합니다.

조회 함수

  • isset( $array[$index] ) 및 array_key_exists: O(n)으로 분류됨에도 불구하고 이러한 함수는 O(1) 해시 조회에 가깝습니다.
  • in_array: 배열을 통해 선형 검색을 수행하여 O를 생성합니다. (n) 복잡성.
  • array_search: in_array와 유사하지만 O(n)으로 이어지는 값을 반환합니다. 복잡성.

큐 함수

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

배열 교차, 결합 및 빼기

  • array_intersect_key: 100% 교차의 경우 O(Max(param_i_size) * ∑param_i_count) 또는 O (∑param_i_size)(0%) 교차로.
  • array_intersect: 100% 교차의 경우 O(n^2 * ∑param_i_count) 또는 0% 교차의 경우 O(n^2)
  • array_intersect_assoc: array_intersect_key와 유사합니다.
  • array_diff: O(π 모든 매개변수의 경우 param_i_size).
  • array_diff_key: 첫 번째 매개변수와 같지 않은 모든 매개변수의 경우 O(∑ param_i_size).
  • array_merge: 첫 번째 매개변수를 제외한 모든 매개변수의 경우 O(∑ array_i)
  • (union): 두 번째는 O(n) array.
  • array_replace: 모든 매개변수에 대해 O(∑ array_i).

Random Functions

  • shuffle: O(n)
  • 배열_랜드: O(n)

명백한 Big-O 함수

  • array_fill, array_fill_keys: O(n)
  • 범위: O(n)
  • array_splice, array_slice: O(오프셋 길이)
  • array_keys, array_values: O(n)
  • array_reverse: O(n)
  • array_pad: O(pad_size)
  • array_flip: O( n)
  • 배열_합, 배열_제품: O(n)
  • array_reduce: O(n)
  • array_filter, array_map: O(n)
  • array_chunk, array_combine: O(n)

위 내용은 일반적인 PHP 함수의 Big-O 시간 복잡성은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.