C # Hashtable template match
Question
Quelle est la meilleure façon de déterminer si un Hashtable contient toutes les clés / valeurs d'une autre Hashtable?
Cela peut aussi être interprété comme: comment déterminer si un Hashtable est un sous d'un autre Hashtable
.La solution
itérer sur toutes les paires clé / valeur dans la « petite » Hashtable et vérifier si elles existent (avec les bonnes valeurs) dans le « plus grand » Hashtable, essentiellement. Vous pouvez faire un chèque de Count
pour commencer à vérifier que la table « plus petit » est vraiment plus petit (ou la même taille) pour commencer, bien sûr.
Ce sera O (n) où n est la taille de la plus petite Hashtable, en supposant hash raisonnables dans la plus grande et la vérification de l'égalité de temps constant. Vous ne pouvez pas faire mieux que cela.