Kerumitan Masa Big-O untuk Fungsi PHP
Artikel ini membentangkan kompilasi kerumitan masa Big-O secara teori dan praktikal untuk beberapa PHP terbina yang paling biasa digunakan- dalam fungsi.
Fungsi Carian
- isset( $array[$index] ) dan array_key_exists: Walaupun diklasifikasikan sebagai O(n), fungsi ini berfungsi berhampiran carian cincang O(1).
- in_array: Melakukan carian linear melalui tatasusunan, menghasilkan O (n) kerumitan.
- array_search: Serupa dengan in_array, tetapi mengembalikan nilai, membawa kepada O(n) kerumitan.
Fungsi Gilir
- array_push: O(∑ var_i)
- array_pop: O(1)
- array_shift: O (n)
- array_unshift: O(n ∑ var_i)
Persilangan Tatasusunan, Kesatuan dan Penolakan
- kunci_bersilangan_tatasusunan: O(Saiz_param_i_maks) * ∑param_i_count) untuk 100% persilangan_∑param, atau ) untuk 0% persilangan.
- array_intersect: O(n^2 * ∑param_i_count) untuk 100% intersect, atau O(n^2) untuk 0% intersect.
- array_intersect_assoc: Serupa dengan array_intersect_key.
array_diff: O(π param_i_size) untuk semua parameter.- array_diff_key: O(∑ param_i_size) untuk semua parameter yang tidak sama dengan yang pertama.
- array_merge: O(∑ array_i) untuk semua parameter kecuali yang pertama .
- (kesatuan): O(n) untuk yang kedua tatasusunan.
- array_replace: O(∑ array_i) untuk semua parameter.
-
Fungsi Rawak
kocok: O(n)- array_rand: O(n)
-
Fungsi Big-O yang Jelas
isi_tatasusunan,kunci_susun_susun: O(n)- julat: O(n)
-
array_splice, array_slice: O(offset panjang)- kunci_tatasusunan, nilai_tatasusunan: O(n)
- susunan_terbalik: O(n)
- pad_susun: O(saiz_pad)
- susun_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)
-
Atas ialah kandungan terperinci Apakah Kerumitan Masa Besar-O bagi Fungsi PHP Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!