3

有谁知道Big Oarray_unique()

我没有浏览源代码,但我想它会循环遍历每个值并检查它是否在数组中,这O(n^2)是正确的吗?

谢谢

4

1 回答 1

3

这是O(nlogn)因为它使用排序而不是O(n^2)扫描。

请注意,密钥是保留的。array_unique() 首先对作为字符串处理的值进行排序,然后将保留每个值遇到的第一个键,并忽略所有后续键。这并不意味着将保留未排序数组中第一个相关值的键。

引自http://php.net/manual/en/function.array-unique.php

编辑:记得谷歌它,检查手册,检查现有问题,然后问它。

于 2011-11-29T05:58:34.093 回答