Camino más corto en un gráfico dirigido por el algoritmo de Dijkstra

Dado un gráfico dirigido y un vértice de origen en el gráfico, la tarea es encontrar la distancia y la ruta más cortas desde el origen hasta el vértice de destino en el gráfico dado donde los bordes se ponderan (no son negativos) y se dirigen desde el vértice principal hasta los vértices de origen. … Continue reading «Camino más corto en un gráfico dirigido por el algoritmo de Dijkstra»

Suma de profundidades de subárbol para cada Node de un árbol binario dado

Dado un árbol binario que consta de N Nodes, la tarea es encontrar la suma de las profundidades de todos los Nodes del subárbol en un árbol binario dado. Ejemplos: Aporte: Salida: 26 Explicación: Los Nodes hoja que tienen el valor 8, 9, 5, 6 y 7 tienen la suma de las profundidades del subárbol … Continue reading «Suma de profundidades de subárbol para cada Node de un árbol binario dado»

Imprima la ruta desde la raíz a todos los Nodes en un árbol binario completo

Dado un número N , que es el número total de Nodes en un árbol binario completo donde los Nodes son números del 1 al N secuencialmente por niveles. La tarea es escribir un programa para imprimir rutas desde la raíz a todos los Nodes en el árbol binario completo. Para N = 3, el … Continue reading «Imprima la ruta desde la raíz a todos los Nodes en un árbol binario completo»

Programa recursivo para imprimir Nodes extremos de cada nivel del árbol binario en orden alternativo

Dado un árbol binario, la tarea es imprimir los Nodes de las esquinas extremas de cada nivel pero en orden alterno. Ejemplos:   Input : 1 / \ 2 3 / / \ 4 5 6 / / \ 7 8 9 Output : 1 2 6 7 Print the rightmost node at 1st level: 1 … Continue reading «Programa recursivo para imprimir Nodes extremos de cada nivel del árbol binario en orden alternativo»

Imprime todos los Nodes hoja de un árbol binario de derecha a izquierda

Dado un árbol binario, la tarea es imprimir todos los Nodes hoja del árbol binario de derecha a izquierda. Ejemplos:  Input : 1 / \ 2 3 / \ / \ 4 5 6 7 Output : 7 6 5 4 Input : 1 / \ 2 3 / \ \ 4 5 6 / … Continue reading «Imprime todos los Nodes hoja de un árbol binario de derecha a izquierda»

Verifique si un árbol binario es un subárbol de otro árbol binario usando el recorrido de preorden: Iterativo

Dados dos árboles binarios S y T, la tarea es comprobar que si S es un subárbol del árbol T. Por ejemplo:  Input: Tree T – 1 / \ 2 3 / \ / \ 4 5 6 7 Tree S – 2 / \ 4 5 Output: YES Explanation: The above tree is the … Continue reading «Verifique si un árbol binario es un subárbol de otro árbol binario usando el recorrido de preorden: Iterativo»

Cuente los Nodes del árbol dado cuya string ponderada es un palíndromo

Dado un árbol y los pesos (en forma de strings) de todos los Nodes, la tarea es contar los Nodes cuyos pesos son palíndromos. Ejemplos:  Input: Output: 3 Only the weights of the nodes 2, 3 and 5 are palindromes. Enfoque: Realice dfs en el árbol y para cada Node, verifique si su string es … Continue reading «Cuente los Nodes del árbol dado cuya string ponderada es un palíndromo»

AVL con claves duplicadas

Consulte la publicación a continuación antes de leer sobre el manejo de árboles AVL de duplicados. ¿Cómo manejar los duplicados en el árbol de búsqueda binaria? Esto es para aumentar el Node del árbol AVL para almacenar el recuento junto con campos regulares como punteros clave, izquierdo y derecho. La inserción de las claves 12, 10, … Continue reading «AVL con claves duplicadas»

Salida de Programas Java | Conjunto 55 (marco de colecciones de Java)

Requisitos previos: Java Collection Framework . 1. ¿Cuál es el resultado del siguiente programa Java? import java.util.*;    class Demo {     public static void main(String[] args)     {         ArrayList<Integer> arr = new ArrayList<Integer>();         arr.add(11);         arr.add(2);         arr.add(3);         arr.add(5);         arr.add(7);         arr.remove(new Integer(7));         arr.remove(2);         for (int i = 0; i < arr.size(); i++)             System.out.print(arr.get(i) + » «);     } } … Continue reading «Salida de Programas Java | Conjunto 55 (marco de colecciones de Java)»

Compruebe si una array determinada puede representar el recorrido de pedido previo del árbol de búsqueda binaria

Dada una array de números, devuelve verdadero si la array dada puede representar un recorrido de preorden de un árbol de búsqueda binario, de lo contrario, devuelve falso. La complejidad de tiempo esperada es O(n). Ejemplos: C++ // C++ program for an efficient solution to check if // a given array can represent Preorder traversal … Continue reading «Compruebe si una array determinada puede representar el recorrido de pedido previo del árbol de búsqueda binaria»