/ / NSDictionary objectForKey efektywność czasowa - cel-c, wydajność, złożoność czasowa, fundament

NSDictionary objectForKey czas efektywność - cel-c, wydajność, czas-złożoność, podstawa

To rodzaj przedłużenia jednego z moich starszychpytania, ale kiedy wywołujesz selektor objectForKey: dla NSDictionary jest to, że kolejność jednej operacji powinna być taka jak powinna? Zwrócenie wartości powiązanej z tym kluczem lub nic, jeśli klucz nie istnieje? Kiedy implementuję operację objectForKey NSDictionary, wydaje się, że jej implementacja odbywa się z liniową wydajnością czasową :(

Odpowiedzi:

2 dla odpowiedzi № 1

NSDictionary nie sprawia, że ​​czas jest złożony gwarancje, ale w praktyce jest to O (1), jak można by oczekiwaćdla kolekcji bazującej na hashowaniu. Jeśli widzisz zachowanie O (1), upewnij się, że obiekty mają dobre funkcje mieszające, możesz być w kolizji.