Ordenar una cola sin espacio adicional

Dada una cola con elementos aleatorios, necesitamos ordenarla. No se nos permite usar espacio extra. Las operaciones permitidas en la cola son:   enqueue() : agrega un elemento al final de la cola. En la cola STL de C++ , esta función se llama push(). dequeue() : elimina un elemento del frente de la cola. En … Continue reading «Ordenar una cola sin espacio adicional»

Construya BST a partir de su recorrido de orden de nivel dado

Construya el BST (árbol de búsqueda binaria) a partir de su recorrido de orden de nivel dado. Ejemplos:  Input : arr[] = {7, 4, 12, 3, 6, 8, 1, 5, 10} Output : BST: 7 / \ 4 12 / \ / 3 6 8 / / \ 1 5 10 La idea es usar … Continue reading «Construya BST a partir de su recorrido de orden de nivel dado»

Tiempo mínimo requerido para llenar N espacios dados

Dado un número entero N que denota el número de ranuras, y una array arr[] que consta de K enteros en el rango [1, N] repreand. Cada elemento de la array está en el rango [1, N] que representa los índices de las ranuras llenas. En cada unidad de tiempo, el índice con la ranura … Continue reading «Tiempo mínimo requerido para llenar N espacios dados»

Á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»

Camino en un Rectángulo con Círculos

Hay una array rectangular am*n cuya ubicación superior izquierda (inicio) es (1, 1) y la ubicación inferior derecha (final) es (m*n). Hay k círculos cada uno con radio r. Encuentra si hay algún camino de principio a fin sin tocar ningún círculo. La entrada contiene valores de m, n, k, r y dos arrays de … Continue reading «Camino en un Rectángulo con Círculos»

Compruebe si la array dada puede representar el recorrido de orden de nivel del árbol de búsqueda binaria

Dada una array de tamaño n . El problema es verificar si la array dada puede representar el recorrido de orden de niveles de un árbol de búsqueda binaria o no. Ejemplos:  Input : arr[] = {7, 4, 12, 3, 6, 8, 1, 5, 10} Output : Yes For the given arr[] the Binary Search … Continue reading «Compruebe si la array dada puede representar el recorrido de orden de nivel del árbol de búsqueda binaria»

Número mínimo de inversiones de prefijo para ordenar la permutación de los primeros N números

Dados N números que tienen una permutación de primeros N números. En una sola operación se puede invertir cualquier prefijo. La tarea es encontrar el número mínimo de tales operaciones de modo que los números en la array estén en orden creciente. Ejemplos:   Input : a[] = {3, 1, 2} Output : 2 Step1: Reverse the … Continue reading «Número mínimo de inversiones de prefijo para ordenar la permutación de los primeros N números»

Convertir un árbol binario en su árbol espejo

Espejo de un árbol: Espejo de un árbol binario T es otro árbol binario M(T) con hijos izquierdo y derecho de todos los Nodes que no son hojas intercambiados.   C++ // C++ program to convert a binary tree // to its mirror #include<bits/stdc++.h> using namespace std;    /* A binary tree node has data, pointer  … Continue reading «Convertir un árbol binario en su árbol espejo»

BFS usando STL para codificación competitiva

Una implementación simple basada en STL de BFS usando cola y vector en STL. La lista de adyacencia se representa mediante vectores de vector.  En BFS, comenzamos con un Node. Cree una cola y ponga en cola la fuente en ella.  Marcar fuente como visitada. Si bien la cola no está vacía, haga lo siguiente … Continue reading «BFS usando STL para codificación competitiva»

Número de caminos de longitud mínima entre 1 y N incluyendo cada Node

Dado un gráfico no dirigido y no ponderado de N Nodes y M aristas, la tarea es contar las rutas de longitud mínima entre el Node 1 y N a través de cada uno de los Nodes. Si no existe tal ruta, imprima «-1» . Nota: La ruta puede pasar por un Node cualquier número … Continue reading «Número de caminos de longitud mínima entre 1 y N incluyendo cada Node»