C # Hashtable template match
Domanda
Qual è il modo migliore per determinare se un Hashtable contiene tutte le chiavi / valori di un'altra Hashtable?
Questo può anche essere interpretato come: come determinare se un Hashtable è un sottoinsieme di un'altra Hashtable
.Soluzione
iterare su tutte le coppie chiave / valore nel controllo "piccolo" tabella hash e se esistono (con i valori corretti) nella tabella hash "grandi", fondamentalmente. Si potrebbe fare un controllo Count
per cominciare a verificare che la tabella "più piccolo" è in realtà più piccolo (o della stessa dimensione) per cominciare, naturalmente.
Questo sarà O (n), dove n è la dimensione della tabella hash minore, assumendo hash ragionevoli maggiore controllo uguaglianza uno e costante di tempo. Non si può fare di meglio.