Coloreo bipartito de un árbol en JavaScript

Guía práctica para colorear bipartitamente un árbol no dirigido en JavaScript con BFS/DFS: lista de adyacencia, asignación de colores y detección de conflictos.

31 ago 2025 • 3 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Cómo aplicar un coloreado bipartito a un árbol no dirigido en JavaScript y garantizar que dos nodos adyacentes nunca compartan el mismo color

Un árbol no dirigido siempre es bipartito, así que basta con una búsqueda en anchura o profundidad para asignar dos colores alternos a sus nodos. La idea es sencilla: construir la lista de adyacencia, elegir un nodo raíz, asignarle el color 0 y propagar 1 a sus vecinos, 0 a los vecinos de estos y así sucesivamente. Si en algún momento un vecino ya coloreado tiene el mismo color que el actual, hay un conflicto, aunque en un árbol válido no ocurrirá.

Pasos prácticos: 1 construir la lista de adyacencia a partir de las aristas, 2 recorrer el grafo con BFS o DFS, 3 asignar color 0 o 1 a cada nodo, 4 verificar que no haya conflicto en las adyacencias, 5 devolver el arreglo de colores.

Implementación en JavaScript orientada a árboles no dirigidos

function colorearArbolBipartito(n, edges) { const g = Array.from({length:n}, () => []); for (const e of edges) { const u = e[0]; const v = e[1]; g[u].push(v); g[v].push(u); } const color = Array(n).fill(-1); for (let s = 0; s !== n; s++) { if (color[s] !== -1) continue; color[s] = 0; const q = [s]; let head = 0; while (head !== q.length) { const u = q[head++]; for (const v of g[u]) { if (color[v] === -1) { color[v] = 1 - color[u]; q.push(v); } else if (color[v] === color[u]) { return null; } } } } return color; }

Ejemplo de uso con un árbol: const n = 5; const edges = [[0,1],[1,2],[1,3],[3,4]]; const colores = colorearArbolBipartito(n, edges); // colores podría ser por ejemplo [0,1,0,0,1], cualquier asignación válida 0 y 1

Complejidad y consideraciones de calidad: El algoritmo es O(n) en árboles, porque procesa cada arista y nodo una sola vez. Si recibes un grafo genérico, la función también detecta conflictos y devolvería null ante un ciclo impar. Para aplicaciones a medida que manipulan grandes estructuras o requieren análisis de redes, conviene validar que edges tenga longitud n - 1 y que el grafo sea conexo para confirmar que realmente es un árbol.

En Q2BSTUDIO construimos soluciones de software a medida y aplicaciones a medida que integran algoritmos eficientes como este en frontends y backends modernos. Nuestro equipo combina desarrollo multiplataforma con prácticas de ciberseguridad robustas, automatización de procesos y despliegues escalables en servicios cloud aws y azure. Además, potenciamos productos con inteligencia artificial, agentes IA e IA para empresas, y ofrecemos servicios inteligencia de negocio con power bi.

Si buscas un partner para crear un grafo interactivo, un motor de reglas o una plataforma avanzada con rendimiento real, descubre nuestro enfoque de software a medida y aplicaciones a medida. Y si deseas añadir capacidades predictivas, clasificación de nodos o detección de anomalías sobre tus datos, te acompañamos con nuestra inteligencia artificial para empresas.

Más allá del desarrollo, protegemos tus activos con ciberseguridad, pentesting y gobierno de datos, integramos pipelines en servicios cloud aws y azure y transformamos datos en decisiones con power bi. Contáctanos en Q2BSTUDIO para convertir un prototipo en un producto listo para escalar.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat