Вопрос

Кто -нибудь знает Big O из array_unique()?

Я не прошел через источник, но я думаю, что он проходит через каждое значение и проверяет, чтобы увидеть, есть ли это в массиве, который будет O(n^2) это правильно?

Спасибо

Это было полезно?

Решение

Это O(nlogn) Поскольку он использует сортировку вместо вашей O(n^2) сканирование.

Обратите внимание, что ключи сохраняются. array_unique () сортирует значения, обработанные как строка сначала, а затем сохранит первый ключ, встречающийся для каждого значения, и игнорировать все следующие ключи. Это не означает, что ключ первого связанного значения из несортированного массива будет сохранен.

Цитируется из http://php.net/manual/en/function.array-unique.php

РЕДАКТИРОВАТЬ: Не забудьте Google, проверьте руководство, проверьте существующие вопросы, а затем задайте им.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top