Encontrar el diámetro de un árbol no dirigido en JavaScript es sencillo y eficiente usando un enfoque de doble recorrido DFS. La idea clave es ejecutar un DFS desde un nodo arbitrario para localizar el nodo más lejano A, y luego ejecutar un segundo DFS desde A para obtener la máxima distancia hasta otro nodo B; esa distancia es el diámetro del árbol.

Pasos resumidos: 1) Representa el árbol como una lista de adyacencia. 2) Ejecuta un DFS o BFS desde un nodo cualquiera para hallar el nodo más lejano A. 3) Ejecuta otro DFS desde A para obtener las distancias a todos los nodos y toma la máxima. Complejidad temporal O(n) y espacio O(n), donde n es el número de nodos.

Ejemplo de implementación en JavaScript (lista de adyacencia sin cadenas ni dependencias externas):

function treeDiameter(adj) { const n = adj.length; function dfs(start) { const visited = new Array(n).fill(false); const dist = new Array(n).fill(0); const stack = [start]; visited[start] = true; let farNode = start; while (stack.length) { const u = stack.pop(); if (dist[u] > dist[farNode]) farNode = u; for (let i = 0; i < adj[u].length; i++) { const v = adj[u][i]; if (!visited[v]) { visited[v] = true; dist[v] = dist[u] + 1; stack.push(v); } } } return { farNode, dist }; } const first = dfs(0); const second = dfs(first.farNode); let diameter = 0; for (let i = 0; i < n; i++) if (second.dist[i] > diameter) diameter = second.dist[i]; return diameter; }

Ejemplo de uso: lista de adyacencia adj = [[1,2],[0,3],[0],[1]]; treeDiameter(adj) devuelve 3 que es el diámetro en número de aristas.

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida con experiencia en soluciones eficientes y escalables. Si necesitas una aplicación especializada o un servicio de desarrollo de aplicaciones y software multiplataforma podemos ayudarte desde el diseño del algoritmo hasta la puesta en producción. Además somos especialistas en inteligencia artificial y ofrecemos servicios de inteligencia artificial para empresas, incluyendo agentes IA, soluciones de IA para empresas y servicios de inteligencia de negocio como power bi.

Ofrecemos también ciberseguridad y pentesting, servicios cloud aws y azure, automatización de procesos, y herramientas de inteligencia de negocio. Palabras clave que reflejan nuestros servicios: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Contacta con Q2BSTUDIO para llevar tu proyecto al siguiente nivel con soluciones a medida y tecnología avanzada.