/ / NSDictionary objectForKey efektívnosť času - cieľ-c, výkon, čas-zložitosť, nadácia

NSDictionary objectForKey efektívnosť času - cieľ-c, výkon, čas-zložitosť, základ

Toto je trochu rozšírenie jedného z mojich staršíchotázky, ale keď voláte selector objectForKey: pre NSDictionary je to, že jedna operácia, ako by mala byť? Vracia sa hodnota priradená k tomuto kľúču alebo nič, ak kľúč neexistuje? Keď implementujem operáciu NSDictionary objectForKey, cítim sa ako jej implementácia v lineárnej efektívnosti :(

odpovede:

2 pre odpoveď č. 1

NSDictionary nevytvára silnú časovú zložitosť záruky, ale v praxi to je O (1), ako by sa dalo očakávaťpre zhromažďovanie založené na hashovaní. Ak vidíte správanie O (1), uistite sa, že vaše objekty majú dobré hashové funkcie, mohli by ste naraziť na kolízie.