Árboles de expresión usando clases en C++ con implementación

Prerrequisito: Árbol de expresión El árbol de expresión es un árbol binario en el que cada Node interno corresponde al operador y cada Node hoja corresponde al operando, por lo que, por ejemplo, el árbol de expresión para 3 + ((5+9)*2) sería: En los árboles de expresión, los Nodes hoja son operandos y los Nodes … Continue reading «Árboles de expresión usando clases en C++ con implementación»

Recorrido de orden de nivel al convertir N-ary Tree en una representación de lista de adyacencia con K como Node raíz

Dado el Node raíz de un árbol N-ario y un número entero K , la tarea es convertir el árbol dado en una representación de lista de adyacencia e imprimir el recorrido de orden de niveles considerando el vértice K como el Node raíz. Ejemplo: Entrada: Árbol en la imagen de abajo, K = 5 … Continue reading «Recorrido de orden de nivel al convertir N-ary Tree en una representación de lista de adyacencia con K como Node raíz»

Árbol de intervalos utilizando un contenedor basado en árboles GNU

Considere una situación en la que tenemos un conjunto de intervalos y necesitamos que las siguientes operaciones se implementen de manera eficiente:  Agregar un intervalo Eliminar un intervalo Dado un intervalo x, encuentre si x se superpone con cualquiera de los intervalos existentes. Un árbol de intervalos se puede implementar como un árbol de búsqueda … Continue reading «Árbol de intervalos utilizando un contenedor basado en árboles GNU»

Árbol binario | Serie 1 (Introducción)

Un árbol es una estructura de datos popular que no es lineal por naturaleza. A diferencia de otras estructuras de datos como array, pila, cola y lista enlazada que son de naturaleza lineal, un árbol representa una estructura jerárquica. La información de pedido de un árbol no es importante. Un árbol contiene Nodes y 2 … Continue reading «Árbol binario | Serie 1 (Introducción)»

Escriba un programa para encontrar la profundidad o altura máxima de un árbol

Dado un árbol binario, encuentra su altura. La altura del árbol vacío es -1, la altura del árbol con un Node es 0 y la altura del árbol inferior es 2.   C++ // C++ program to find height of tree #include <bits/stdc++.h> using namespace std;     /* A binary tree node has data, pointer … Continue reading «Escriba un programa para encontrar la profundidad o altura máxima de un árbol»

Árbol general (cada Node puede tener un número arbitrario de hijos) Recorrido de orden de niveles

Dado un árbol genérico, realice un recorrido de orden de nivel e imprima todos sus Nodes Ejemplos:  C++ // CPP program to do level order traversal // of a generic tree #include <bits/stdc++.h> using namespace std;    // Represents a node of an n-ary tree struct Node {     int key;     vector<Node *>child; };     // … Continue reading «Árbol general (cada Node puede tener un número arbitrario de hijos) Recorrido de orden de niveles»

Construya un árbol binario completo a partir de una array dada en orden de nivel

Dada una array de elementos, nuestra tarea es construir un árbol binario completo a partir de esta array en orden de niveles. Es decir, los elementos de la izquierda en la array se completarán en el árbol por niveles a partir del nivel 0. Ejemplos:   Input : arr[] = {1, 2, 3, 4, 5, 6} … Continue reading «Construya un árbol binario completo a partir de una array dada en orden de nivel»

Producto de Nodes en el k-ésimo nivel en un árbol representado como string

Dado un entero ‘K’ y un árbol binario en formato de string. Cada Node de un árbol tiene un valor en el rango de 0 a 9. Necesitamos encontrar el producto de los elementos en el nivel K-ésimo desde la raíz. La raíz está en el nivel 0.  Nota: el árbol se da en la … Continue reading «Producto de Nodes en el k-ésimo nivel en un árbol representado como string»

Comprobar si un árbol binario es un árbol completo o no | Conjunto 2 (solución recursiva)

Un árbol binario completo es un árbol binario cuyos niveles, excepto el último, están completamente llenos y todas las hojas del último nivel están todas a la izquierda. Puede encontrar más información sobre árboles binarios completos aquí . Ejemplo: debajo del árbol hay un árbol binario completo (todos los Nodes hasta el penúltimo Node están … Continue reading «Comprobar si un árbol binario es un árbol completo o no | Conjunto 2 (solución recursiva)»

Número de árboles de expansión de un gráfico completo ponderado

Prerrequisitos: Conceptos básicos de teoría de grafos, árbol de expansión. Gráfico ponderado completo: un gráfico en el que un borde conecta cada par de vértices del gráfico y cada borde tiene un peso asociado se conoce como gráfico ponderado completo.  El número de árboles de expansión para un gráfico ponderado completo con n vértices es … Continue reading «Número de árboles de expansión de un gráfico completo ponderado»