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_push: O(Σ varvari)
- array_push: O(Σ varvari)
- array_push: O(Σ varvari)
array_push: O(Σ varvari)
array_push: O(Σ varvari)
- array_push: O(Σ varvari)
- array_push: O(Σ varvari) >
array_pop: O(1)- array_shift: O (n)
- array_unshift: O(n Σ var_i)
-
- 數組交集、並集和減法
- array_intersect_key:O(Max(param_i_size) * Σparam_i_count) 對於100% 交集,param_i_size) * Σparam_i_count) 對於100% 交集,param_iizeO_i_O_i) 對於100% 交集, %交集。
- array_intersect:O(n^2 * Σparam_i_count) 表示 100% 交集,或 O(n^2) 表示 0% 交集。
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_replace: O(Σ array_i) 對於所有參數。 -
- 隨機函數
- shuffle: O(n)
- array_rand: O(n)
-
- 明顯的大O函數
- array_fill、array_fill_keys:O(n)
- 範圍:O(n)
- array_splice、array_slice:O(移長度)
- 陣列鍵、陣列值: O(n)
- array_reverse: O(n)
array_pad: O(pad_size)array_flip: O(n)array_m array> O(n)array_reduce: O(n)array_filter、array_map:O(n)array_chunk、array_combine:O(n)
以上是常見 PHP 函數的 Big-O 時間複雜度是多少?的詳細內容。更多資訊請關注PHP中文網其他相關文章!