/ / NSDictionary objectForKey efficacité temporelle - objectif-c, performance, complexité temporelle, fondement

Efficacité temporelle de NSDictionary objectForKey - Objective-c, performance, complexité temporelle, fondement

C’est un peu une extension de l’un de mes plus vieuxquestions, mais lorsque vous appelez le sélecteur objectForKey: pour le NSDictionary est-ce qu'une commande une opération comme elle devrait être? Renvoyer une valeur associée à cette clé ou rien si la clé n'existe pas? Lorsque j'implémente l'opération NSDictionary objectForKey, on a l'impression de l'implémenter avec une efficacité temporelle linéaire :(

Réponses:

2 pour la réponse № 1

NSDictionary ne rend pas la complexité du temps forte des garanties, mais en pratique c'est O (1) comme on pourrait s'y attendrepour une collection basée sur le hachage. Si vous observez un comportement> O (1), assurez-vous que vos objets ont de bonnes fonctions de hachage, vous risqueriez de vous heurter à des collisions.