일반적인 PHP 배열 함수의 Big-O 시간 복잡성은 무엇입니까?
Dec 07, 2024 am 11:01 AMPHP용 Big-O
PHP로 작업할 때 다양한 내장 기능의 효율성이 크게 달라질 수 있습니다. 이 문서의 목적은 이론적(또는 실제적) Big-O 시대에 대한 통찰력을 제공하는 것입니다.
Lookups
- array_key_exists: O(n), 그러나 효과적으로 닫힙니다. 해시 조회로 인해 O(1)로 변경되었습니다.
- isset($array[$index]): O(n), 해시 조회로 인해 O(1)에 가깝습니다.
- in_array: O(n), 해시 기반 조회보다 느립니다.
- array_search: O(n), in_array와 유사합니다.
큐 함수
- array_push: O(∑ var_i, for all i)
- array_pop: O(1)
- array_shift: O(n), re -키를 인덱스합니다.
- array_unshift: O(n ∑ var_i, 모든 i), 재인덱싱으로 인해 속도가 느려집니다.
Array Intersection, Union, Subtraction
- array_intersect_key: O(Max (param_i_size)*∑param_i_count, 모든 i)에 대해 교차점이 다음과 같은 경우 100%.
- array_intersect: 교차점이 100%인 경우 O(n^2*∑param_i_count, for all i).
- array_intersect_assoc: array_intersect_key와 유사합니다.
- array_diff: O(π param_i_size, 모두에 대해 i), 모든 매개변수 크기의 곱.
- array_diff_key: O(∑ param_i_size, for i != 1).
임의
- 셔플: O(n)
- array_rand: O(n)
명백한 Big-O
- array_fill: O(n)
- array_fill_keys: O(n)
- 범위: O(n)
- array_splice: O(오프셋 길이)
- array_slice: O(오프셋 길이) 또는 길이가 다음인 경우 O(n) NULL
- 배열_키: O(n)
- array_values: O(n)
- array_reverse: O(n)
참고
- 모든 계산에서는 해시 조회가 다음과 같다고 가정합니다. O(1).
- 점근적 성능은 특정 구현 세부 사항 및 입력 데이터에 따라 달라질 수 있습니다.
- 배열은 0부터 시작하므로 array_push는 배열의 끝으로 푸시됩니다.
위 내용은 일반적인 PHP 배열 함수의 Big-O 시간 복잡성은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7285
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1342
46


라라벨 튜토리얼
1259
25


PHP 튜토리얼
1206
29



PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법

Laravel Back End : Part 2, React가있는 React 앱 구축
