Big-O-Zeitkomplexitäten für PHP-Funktionen
Dieser Artikel präsentiert eine Zusammenstellung theoretischer und praktischer Big-O-Zeitkomplexitäten für einige der am häufigsten verwendeten PHP-Funktionen. in Funktionen.
Suchfunktionen
- isset( $array[$index] ) und array_key_exists: Obwohl diese Funktionen als O(n) klassifiziert sind, führen sie Hash-Suchvorgänge in der Nähe von O(1) durch.
- in_array: Führt eine lineare Suche durch das Array durch, was zu einer O(n)-Komplexität führt.
- array_search: Ähnlich wie in_array, gibt aber den Wert zurück, was zu einer O(n)-Komplexität führt.
Warteschlange Funktionen
- array_push: O(∑ var_i)
- array_pop: O(1)
- array_shift: O(n)
- array_unshift: O (n ∑ var_i)
Array-Schnittpunkt, Vereinigung und Subtraktion
- array_intersect_key: O(Max(param_i_size) * ∑param_i_count) für 100 % Schnittpunkt oder O(∑param_i_size) für 0% Schnittpunkt.
- array_intersect: O(n^2 * ∑param_i_count) für 100 % Schnittpunkt oder O(n^2) für 0 % Schnittpunkt.
- array_intersect_assoc: Ähnlich wie array_intersect_key.
- array_diff: O(π param_i_size) für alle Parameter.
- array_diff_key: O(∑ param_i_size) für alle Parameter, die nicht gleich dem ersten sind.
- array_merge: O(∑ array_i) für alle Parameter außer dem ersten.
- (union): O(n) für das zweite Array.
- array_replace: O(∑ array_i) für alle Parameter.
Zufallsfunktionen
- shuffle: O(n)
- array_rand: O(n)
Offensichtliches Big-O Funktionen
- array_fill, array_fill_keys: O(n)
- Bereich: O(n)
- array_splice, array_slice: O(Offset-Länge)
- array_keys, array_values: 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)
Das obige ist der detaillierte Inhalt vonWas sind die großen zeitlichen Komplexitäten gängiger PHP-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!