Diferencia entre la suma de hojas de nivel impar y nivel par en un árbol binario dado

Dado un árbol binario , la tarea es encontrar la diferencia de la suma de los Nodes hoja en el nivel impar y en el nivel par del árbol dado . Ejemplos: Aporte: Salida: -12 Explicación: Las siguientes son las operaciones realizadas para obtener el resultado. odd_level_sum = 0, even_level_sum = 0 Nivel 1: sin … Continue reading «Diferencia entre la suma de hojas de nivel impar y nivel par en un árbol binario dado»

Cola de prioridad en Python

Las colas de prioridad son estructuras de datos abstractas en las que cada dato/valor de la cola tiene una determinada prioridad. Por ejemplo, en las aerolíneas, el equipaje con título “Business” o “Primera clase” llega antes que el resto. Priority Queue es una extensión de la cola con las siguientes propiedades. Un elemento con prioridad … Continue reading «Cola de prioridad en Python»

Cola | Conjunto 1 (Introducción e implementación de array)

Similar a Stack , Queue  es una estructura de datos lineal que sigue un orden particular en el que se realizan las operaciones para almacenar datos. El orden es primero en entrar , primero en salir ( FIFO ). Uno puede imaginar una cola como una fila de personas que esperan recibir algo en orden … Continue reading «Cola | Conjunto 1 (Introducción e implementación de array)»

Cómo eliminar un elemento específico de la cola

Dada una cola q[] y un entero K, la tarea es definir un método para eliminar un elemento específico de la cola q[] . Si hay varias apariciones del elemento K, elimine la primera de la cola q[]. Ejemplos: Entrada: q[] = {10, 20, 30, 40, 50, 60}, K = 30 Salida: {10, 20, 40, … Continue reading «Cómo eliminar un elemento específico de la cola»

Ruta más corta de varias fuentes en un gráfico no ponderado

Supongamos que hay n pueblos conectados por m caminos bidireccionales. Hay s pueblos entre ellos con una estación de policía. Queremos saber la distancia de cada pueblo a la estación de policía más cercana. Si el propio pueblo tiene uno la distancia es 0. Ejemplo:   Input : Number of Vertices = 6 Number of Edges … Continue reading «Ruta más corta de varias fuentes en un gráfico no ponderado»

Reorganizar los números en una array de manera que no haya dos números adyacentes iguales

Dada una array de enteros. La tarea es reorganizar los elementos de la array de manera que no haya dos elementos adyacentes iguales en la array. Ejemplos:   Input: arr[] = {1, 1, 1, 2, 2, 2} Output: {2, 1, 2, 1, 2, 1} Input: arr[] = {1, 1, 1, 1, 2, 2, 3, 3} Output: … Continue reading «Reorganizar los números en una array de manera que no haya dos números adyacentes iguales»

Intercalar la primera mitad de la cola con la segunda mitad

Dada una cola de enteros de longitud uniforme, reordene los elementos intercalando la primera mitad de la cola con la segunda mitad de la cola. Solo se nos permite usar la estructura de datos de la cola. Ejemplos:   Input : 1 2 3 4 Output : 1 3 2 4 Input : 11 12 13 … Continue reading «Intercalar la primera mitad de la cola con la segunda mitad»

Aplicaciones de la estructura de datos de cola

Queue se usa cuando las cosas no tienen que ser procesadas inmediatamente, pero tienen que ser procesadas en el orden primero en entrar, primero en salir , como Breadth First Search .  Esta propiedad de Queue también la hace útil en los siguientes tipos de escenarios.  Cuando un recurso se comparte entre múltiples consumidores. Los … Continue reading «Aplicaciones de la estructura de datos de cola»

Número de hermanos de un Node dado en el árbol n-ario

Dado un árbol N-ario, encuentre el número de hermanos del Node x dado. Suponga que x existe en el árbol n-ario dado.  C++ // C++ program to find number // of siblings of a given node #include <bits/stdc++.h> using namespace std;    // Represents a node of an n-ary tree class Node { public:     int … Continue reading «Número de hermanos de un Node dado en el árbol n-ario»

Encuentre el tiempo necesario para ejecutar las tareas en A según el orden de ejecución en B

Dadas dos colas A y B , cada una de tamaño N , la tarea es encontrar el tiempo mínimo necesario para ejecutar las tareas en A en función del orden de ejecución en B , donde:  Si la tarea que se encuentra al frente de la cola B está al frente de la cola … Continue reading «Encuentre el tiempo necesario para ejecutar las tareas en A según el orden de ejecución en B»