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 № 1NSDictionary 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.