12. Intersección de conjuntos

La intersección reúne los elementos comunes entre conjuntos. Es una operación esencial para encontrar coincidencias, aplicar condiciones simultáneas y cruzar información.

12.1 Introducción

La intersección es una operación entre conjuntos que permite obtener los elementos que aparecen al mismo tiempo en dos o más conjuntos.

En programación, esta idea se usa para encontrar coincidencias, validar requisitos comunes, comparar listas, cruzar permisos o aplicar varias condiciones a la vez.

12.2 Definición de intersección

La intersección de dos conjuntos A y B es el conjunto formado por todos los elementos que pertenecen tanto a A como a B.

A ∩ B = {x | x ∈ A y x ∈ B}

El símbolo se lee "intersección".

12.3 Primer ejemplo

A = {1, 2, 3, 4} B = {3, 4, 5, 6} A ∩ B = {3, 4}

Los elementos 3 y 4 aparecen en ambos conjuntos, por eso forman la intersección.

12.4 Intersección y condiciones simultáneas

La intersección representa una condición de tipo "y". Un elemento pertenece a la intersección si cumple las condiciones de todos los conjuntos involucrados.

usuariosActivos ∩ usuariosConSuscripción

Esta expresión representa usuarios que están activos y además tienen suscripción.

12.5 Intersección en diagramas de Venn

En un diagrama de Venn, la intersección es la zona donde se superponen los conjuntos.

A: estudiantes que cursan programación B: estudiantes que cursan matemática A ∩ B: estudiantes que cursan ambas materias

La región compartida muestra los elementos comunes.

12.6 Ejemplos de intersección

Conjunto A Conjunto B A ∩ B
{1, 2, 3} {3, 4, 5} {3}
{HTML, CSS, JavaScript} {JavaScript, SQL} {JavaScript}
{leer, editar, publicar} {editar, eliminar} {editar}
{a, b} {c, d}

12.7 Conjuntos disjuntos

Dos conjuntos son disjuntos cuando no tienen elementos en común. En ese caso, su intersección es el conjunto vacío.

A = {1, 2} B = {3, 4} A ∩ B = ∅

Los conjuntos disjuntos no se superponen en un diagrama de Venn.

12.8 Intersección con el conjunto vacío

La intersección de cualquier conjunto con el conjunto vacío siempre es el conjunto vacío.

A ∩ ∅ = ∅

No puede haber elementos comunes entre un conjunto y otro que no contiene elementos.

12.9 Intersección con el conjunto universal

La intersección de un conjunto con el conjunto universal da como resultado el conjunto original.

A ∩ U = A

Como todos los elementos de A ya están dentro del universo, la parte común entre A y U es A.

12.10 Propiedades de la intersección

Propiedad Notación Interpretación
Conmutativa A ∩ B = B ∩ A El orden de los conjuntos no cambia la intersección
Asociativa (A ∩ B) ∩ C = A ∩ (B ∩ C) La forma de agrupar no cambia el resultado
Idempotente A ∩ A = A Intersectar un conjunto consigo mismo no cambia nada
Absorbente con vacío A ∩ ∅ = ∅ El vacío no comparte elementos con ningún conjunto

12.11 Intersección de más de dos conjuntos

La intersección puede aplicarse a varios conjuntos. El resultado contiene solo los elementos que aparecen en todos ellos.

A = {1, 2, 3, 4} B = {2, 3, 5} C = {0, 2, 3, 8} A ∩ B ∩ C = {2, 3}

12.12 Intersección en JavaScript

En JavaScript, podemos obtener la intersección filtrando los elementos de un conjunto y conservando solo los que también aparecen en otro.

function interseccion(a, b) {
  return new Set([...a].filter(elemento => b.has(elemento)));
}

const a = new Set([1, 2, 3, 4]);
const b = new Set([3, 4, 5, 6]);

console.log([...interseccion(a, b)]);

El resultado contiene solamente los elementos comunes: 3 y 4.

12.13 Intersección de varios conjuntos en JavaScript

Para varios conjuntos, un elemento debe estar presente en todos ellos.

function interseccionMultiple(...conjuntos) {
  if (conjuntos.length === 0) {
    return new Set();
  }

  const [primero, ...resto] = conjuntos;
  return new Set([...primero].filter(elemento =>
    resto.every(conjunto => conjunto.has(elemento))
  ));
}

const frontend = new Set(["HTML", "CSS", "JavaScript"]);
const backend = new Set(["JavaScript", "SQL"]);
const testing = new Set(["JavaScript", "Playwright"]);

console.log([...interseccionMultiple(frontend, backend, testing)]);

El resultado muestra el elemento común a los tres conjuntos.

12.14 Aplicaciones prácticas

Situación Intersección Resultado
Búsquedas Resultados por texto ∩ resultados por categoría Coincidencias que cumplen ambas condiciones
Permisos Permisos requeridos ∩ permisos asignados Permisos que el usuario efectivamente tiene
Etiquetas Etiquetas de A ∩ etiquetas de B Etiquetas compartidas
Bases de datos Registros que cumplen condición A ∩ condición B Filtrado por condiciones simultáneas

12.15 Errores frecuentes

  • Confundir intersección con unión.
  • Incluir elementos que pertenecen solo a uno de los conjuntos.
  • Olvidar que la intersección puede ser el conjunto vacío.
  • Confundir conjuntos disjuntos con conjuntos vacíos.
  • Creer que la intersección siempre reduce a un solo elemento.

12.16 Qué debes recordar de este tema

  • La intersección reúne los elementos comunes entre conjuntos.
  • Se representa con el símbolo .
  • Un elemento pertenece a A ∩ B si pertenece a A y a B.
  • Si dos conjuntos no tienen elementos comunes, su intersección es .
  • La intersección con el conjunto universal devuelve el conjunto original.
  • En JavaScript, filter y has permiten calcular intersecciones.

12.17 Conclusión

La intersección permite encontrar coincidencias entre conjuntos. Es una herramienta central para resolver problemas que requieren condiciones simultáneas o elementos comunes.

En el próximo tema estudiaremos diferencia y diferencia simétrica.