有谁知道Big O
的array_unique()
?
我没有浏览源代码,但我想它会循环遍历每个值并检查它是否在数组中,这O(n^2)
是正确的吗?
谢谢
这是O(nlogn)
因为它使用排序而不是O(n^2)
扫描。
请注意,密钥是保留的。array_unique() 首先对作为字符串处理的值进行排序,然后将保留每个值遇到的第一个键,并忽略所有后续键。这并不意味着将保留未排序数组中第一个相关值的键。
引自http://php.net/manual/en/function.array-unique.php
编辑:记得谷歌它,检查手册,检查现有问题,然后问它。