Frage

Kennt jemand das? Big O von array_unique()?

Ich habe die Quelle nicht durchgemacht, aber ich würde mir vorstellen, dass es jeden Wert durchläuft und überprüft, ob es sich in dem Array befindet, das wäre O(n^2) ist das richtig?

Vielen Dank

War es hilfreich?

Lösung

Es ist O(nlogn) Da es sortiert anstelle von Ihnen verwendet O(n^2) Scannen.

Beachten Sie, dass Schlüssel erhalten bleiben. Array_unique () sortiert die zuerst als Zeichenfolge behandelten Werte, hält dann den ersten Schlüssel für jeden Wert und ignoriert alle folgenden Schlüssel. Es bedeutet nicht, dass der Schlüssel des ersten verwandten Wertes aus dem unsortierten Array aufbewahrt wird.

Zitiert aus http://php.net/manual/en/function.array-unique.php

BEARBEITEN: Denken Sie daran, es zu googeln, das Handbuch zu überprüfen, nach vorhandenen Fragen zu überprüfen und dann zu stellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top