partido C # plantilla Hashtable
Pregunta
¿Cuál es la mejor manera de determinar si una tabla hash contiene todas las claves / valores de otra tabla hash?
Esto puede también ser interpretada como: cómo determinar si una tabla hash es un subconjunto de otro Hashtable
.Solución
iterar sobre todos los pares de la clave / valor en el cheque "más pequeño" tabla hash y si existen (con los valores de la derecha) en la tabla hash "mayor", básicamente. Se podría hacer una verificación de Count
para empezar a comprobar que la tabla "más pequeño" en realidad es más pequeño (o el mismo tamaño) para empezar, por supuesto.
Esto será O (n), donde n es el tamaño de la tabla hash más pequeño, suponiendo hashes razonables en el más grande de cheques igualdad uno y constante de tiempo. No se puede hacer mejor que eso.