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

.
¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top