array_unique PHP的动作数

时间:2011-11-29 05:54:45

标签: php big-o array-unique

有人知道Big O的{​​{1}}吗?

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

由于

1 个答案:

答案 0 :(得分:3)

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

  

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

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

编辑:请记住Google,查看手册,检查现有问题,然后再询问。