Patrón Subconjuntos y Conjuntos Potencia

Domina el patrón Subset & Power Set con backtracking: genera subconjuntos en Java, plantilla universal, ejemplos y variaciones (duplicados, tamaño k) y aplicaciones en IA y desarrollo de software a medida.

2 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Backtracking o retroceso es especialmente potente cuando debemos explorar todos los subconjuntos o combinaciones de elementos. En este Blog 2 Subset & Power Set Pattern aprenderás un patrón universal que se reutiliza en entrevistas técnicas y en proyectos reales de desarrollo de aplicaciones a medida y software a medida.

Definición del problema. Dado un conjunto de elementos, genera todos los subconjuntos el power set.

Ejemplo. Entrada [1, 2, 3]. Salida [[], [1], [2], [3], [1,2], [1,3], [2,3], [1,2,3]]

Intuición. Cada elemento tiene dos opciones incluirlo o excluirlo. Estas decisiones forman un árbol binario de profundidad n que produce 2^n subconjuntos.

Plantilla universal para subconjuntos con backtracking en estilo Java.

void backtrack int index, List<Integer> current, int[] nums, List<List<Integer>> results { if index == nums.length { results.add new ArrayList<> current ; return; } backtrack index + 1, current, nums, results; current.add nums[index]; backtrack index + 1, current, nums, results; current.remove current.size() - 1; }

Implementación Java sencilla para el power set.

import java.util.*; public class SubsetsPattern { public List<List<Integer>> subsets int[] nums { List<List<Integer>> results = new ArrayList<>(); backtrack 0, new ArrayList<>(), nums, results; return results; } private void backtrack int index, List<Integer> current, int[] nums, List<List<Integer>> results { if index == nums.length { results.add new ArrayList<> current ; return; } backtrack index + 1, current, nums, results; current.add nums[index]; backtrack index + 1, current, nums, results; current.remove current.size() - 1; } }

Visualización del árbol de recursión para la entrada [1,2].

[] -> decisiones incluir excluir rama izquierda excluye 1 y luego decide sobre 2 rama derecha incluye 1 y luego decide sobre 2 Resultado final hojas [], [2], [1], [1,2]

Variaciones frecuentes en entrevistas.

1 Subconjuntos con duplicados. Entrada [1,2,2]. Objetivo evitar subconjuntos duplicados. Estrategia ordenar y saltar duplicados contiguos.

private void backtrackDup int start, List<Integer> current, int[] nums, List<List<Integer>> results { results.add new ArrayList<> current ; for int i = start; i < nums.length; i++ { if i > start && nums[i] == nums[i - 1] continue; current.add nums[i]; backtrackDup i + 1, current, nums, results; current.remove current.size() - 1; } }

2 Subconjuntos de tamaño k. Entrada nums=[1,2,3], k=2. Salida [[1,2], [1,3], [2,3]].

private void backtrackK int start, int k, List<Integer> current, int[] nums, List<List<Integer>> results { if current.size() == k { results.add new ArrayList<> current ; return; } for int i = start; i < nums.length; i++ { current.add nums[i]; backtrackK i + 1, k, current, nums, results; current.remove current.size() - 1; } }

3 Subconjuntos de una cadena. Entrada abc. Salida vacio, a, b, c, ab, ac, bc, abc. Misma lógica, usando caracteres en lugar de enteros.

Complejidad. Tiempo O 2^n para enumerar todos los subconjuntos. Espacio O n por la profundidad de recursión más el almacenamiento del resultado.

Conclusiones clave. Los problemas de subconjuntos se resuelven con el patrón incluir excluir. En arrays con duplicados, ordena y salta duplicados. Para subconjuntos de tamaño fijo, añade una condición de tamaño. Este patrón es base para combinaciones, particionado, decisiones y generación de estados en agentes IA.

Que sigue. En el Blog 3 Permutation Pattern veremos cómo generar todas las permutaciones con y sin duplicados, una extensión natural del patrón de backtracking.

Sobre Q2BSTUDIO. Somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi, automatización de procesos y agentes IA para empresas. Si buscas llevar este tipo de patrones a productos reales, nuestro equipo crea plataformas y productos escalables con buenas prácticas, pruebas automatizadas y seguridad integrada.

Si necesitas transformar una idea en producto digital, descubre cómo abordamos proyectos de software a medida y aplicaciones a medida en desarrollo de aplicaciones y software multiplataforma. Para potenciar tus procesos con modelos de ia para empresas, copilotos internos y agentes IA, visita nuestra oferta en inteligencia artificial.

También te ayudamos a desplegar soluciones seguras y elásticas en servicios cloud aws y azure, a robustecer tu postura de ciberseguridad y pentesting, y a convertir datos en decisiones con power bi y business intelligence, alineando analítica avanzada con objetivos de negocio.

Palabras clave recomendadas para tu estrategia técnica y de negocio. aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat