首頁 > 後端開發 > php教程 > 常見 PHP 函數的 Big-O 時間複雜度是多少?

常見 PHP 函數的 Big-O 時間複雜度是多少?

Mary-Kate Olsen
發布: 2024-12-04 02:23:10
原創
359 人瀏覽過

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_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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板