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:O(Max(param_i_size) * Σparam_i_count) 对于 100% 交集,或 O(Σparam_i_size)为 0%交集。
- 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_sum, array_product: O(n)
- array_reduce: O(n)
- array_filter、array_map:O(n)
- array_chunk、array_combine:O(n)
以上是常见 PHP 函数的 Big-O 时间复杂度是多少?的详细内容。更多信息请关注PHP中文网其他相关文章!