Количество действий array_unique php
-
25-10-2019 - |
Вопрос
Кто -нибудь знает Big O
из array_unique()
?
Я не прошел через источник, но я думаю, что он проходит через каждое значение и проверяет, чтобы увидеть, есть ли это в массиве, который будет O(n^2)
это правильно?
Спасибо
Решение
Это O(nlogn)
Поскольку он использует сортировку вместо вашей O(n^2)
сканирование.
Обратите внимание, что ключи сохраняются. array_unique () сортирует значения, обработанные как строка сначала, а затем сохранит первый ключ, встречающийся для каждого значения, и игнорировать все следующие ключи. Это не означает, что ключ первого связанного значения из несортированного массива будет сохранен.
Цитируется из http://php.net/manual/en/function.array-unique.php
РЕДАКТИРОВАТЬ: Не забудьте Google, проверьте руководство, проверьте существующие вопросы, а затем задайте им.