3

のを知っている人Big Oはいarray_unique()ますか?

私はソースを調べていませんが、各値をループして、それが配列にあるかどうかを確認するためにチェックすると思いますO(n^2)が、これは正しいですか?

ありがとう

4

1 に答える 1

3

これは、スキャンO(nlogn)の代わりに並べ替えを使用しているためです。O(n^2)

キーは保持されることに注意してください。array_unique() は、最初に文字列として扱われる値をソートし、すべての値に対して最初に検出されたキーを保持し、後続のすべてのキーを無視します。ソートされていない配列の最初の関連値のキーが保持されるという意味ではありません。

http://php.net/manual/en/function.array-unique.phpから引用

編集:忘れずに Google で検索し、マニュアルを確認し、既存の質問を確認してから質問してください。

于 2011-11-29T05:58:34.093 に答える