Conjuntos: una bolsa de cosas, sin duplicados
Un conjunto es una bolsa donde cada cosa aparece una sola vez, y la respuesta a "¿está ahí dentro?" siempre es sí o no.
Un conjunto es una bolsa de cosas. Puedes echar a Mila, Tom y Ana en una bolsa y llamarla A. A la bolsa no le importa el orden, ni le importa cuántas veces metiste a Mila: un conjunto guarda cada cosa una sola vez. Si preguntas "¿está Tom en la bolsa?", las únicas respuestas posibles son true o false. No existe el "más o menos".
Tres operaciones cubren casi todo lo que vas a necesitar. La unión (A ∪ B) es la bolsa que obtienes al volcar las dos bolsas en una: todo lo de A, todo lo de B, cada nombre una vez. La intersección (A ∩ B) es solo lo que está en las dos bolsas. La diferencia (A \\ B) es lo que está en A pero no en B. La unión se lee como "o", la intersección se lee como "y", y la diferencia se lee como "no está en".
A = { Mila, Tom, Ana }
B = { Tom, Ana, Ben }
A ∪ B (union, "or") = { Mila, Tom, Ana, Ben }
A ∩ B (intersection, "and") = { Tom, Ana }
A \ B (difference, "not in") = { Mila }
Tom ∈ A -> true
Ben ∈ A -> falseLa pertenencia es una pregunta de sí o no:
Esto importa porque un conjunto responde a una pregunta con un sí o un no, y las computadoras son buenísimas con las preguntas de sí o no. Cada "¿ya he visto a este usuario?" y cada "¿esta palabra ya existe?" es una prueba de pertenencia, y la razón de elegir un conjunto en lugar de una lista es justamente que el conjunto responde mucho más rápido.
Práctica
Relaciona cada expresión de conjuntos con el resultado que produce para A = { Mila, Tom, Ana } y B = { Tom, Ana, Ben }.
Pistas
- A ∪ B es todo lo que está en A, en B o en ambos.
- A \ B descarta todo lo que también aparece en B.
12 XP
El grupo de fútbol es Ana, Ben, Tom. El grupo de ajedrez es Ben, Tom, Lena. ¿Quién está en los dos grupos?
Pistas
- Pregúntate quién está en las DOS listas, no quién está en una u otra.
- Ana solo está en la lista de fútbol, así que no puede formar parte de la respuesta.
11 XP
Ordena los pasos de "construir un conjunto a partir de una lista" en el orden en que deben ocurrir para la lista [Tom, Ana, Tom, Ben].
Pistas
- Añade al resultado solo cuando el nombre todavía no esté en él.
- Se revisa cada nombre de la lista, incluso los que ya están en el resultado.
12 XP