Encontrar la mediana en una lista enlazada ordenada

Dada Una lista enlazada ordenada de  elementos. La tarea es encontrar la mediana en la lista ordenada ordenada dada. Sabemos que la mediana en una array ordenada es el elemento central. Procedimiento para encontrar la mediana de N números ordenados :   if N is odd: median is N/2th element else median is N/2th element + … Continue reading «Encontrar la mediana en una lista enlazada ordenada»

Suma de los Nodes de una Lista Enlazada Circular

Dada una lista enlazada circular única . La tarea es encontrar la suma de los Nodes de la lista enlazada dada.  Para la lista circular anterior, suma = 2 + 5 + 7 + 8 + 10 = 32 Ejemplos:   Input: 11->2->56->12 Output: Sum of Circular linked list is = 81 Input: 2-> 5 -> … Continue reading «Suma de los Nodes de una Lista Enlazada Circular»

Fusionar k listas enlazadas ordenadas | Conjunto 2 (usando montón mínimo)

Dado k listas vinculadas, cada una de tamaño n y cada lista está ordenada en orden no decreciente, combínelas en una sola lista vinculada ordenada (orden no decreciente) e imprima la lista vinculada ordenada como salida. Ejemplos: Input: k = 3, n = 4 list1 = 1->3->5->7->NULL list2 = 2->4->6->8->NULL list3 = 0->9->10->11->NULL Output: 0->1->2->3->4->5->6->7->8->9->10->11 … Continue reading «Fusionar k listas enlazadas ordenadas | Conjunto 2 (usando montón mínimo)»

Lista vinculada XOR: elimina el primer Node de la lista vinculada

Dada una lista enlazada XOR , la tarea es eliminar el primer Node de la lista enlazada XOR. Ejemplos: Entrada: XLL = 4 < – > 7 < – > 9 < – > 7 Salida: 7 < – > 9 < – > 7 Explicación: Eliminar el primer Node de la lista enlazada XOR … Continue reading «Lista vinculada XOR: elimina el primer Node de la lista vinculada»

Fusión ordenada de dos listas enlazadas doblemente circulares ordenadas

Dadas dos listas enlazadas doblemente circulares ordenadas que contienen n1 y n2 Nodes respectivamente. El problema es fusionar las dos listas de modo que la lista resultante también esté ordenada. Ejemplo:  Lista 1:   Lista 2:   Lista final:  Enfoque: Los siguientes son los pasos: Si head1 == NULL, devuelve head2. Si head2 == NULL, devuelve head1. … Continue reading «Fusión ordenada de dos listas enlazadas doblemente circulares ordenadas»

Inserción en una lista enlazada circular ordenada cuando se proporciona un puntero aleatorio

Dada una array arr[] de enteros y un puntero a un Node aleatorio de una lista enlazada ordenada circular (inicialmente vacía), la tarea es insertar todos los elementos de arr[] en la lista enlazada circular. Ejemplos:   Entrada: arr[] = {12, 56, 2, 11, 1, 90}  Salida: 1 2 11 12 56 90 Entrada: arr[] = … Continue reading «Inserción en una lista enlazada circular ordenada cuando se proporciona un puntero aleatorio»

Diferencia entre la lista de enlaces simples y la lista de enlaces dobles

Introducción a la lista de enlaces únicos: una lista de enlaces únicos es un conjunto de Nodes donde cada Node tiene dos campos ‘datos’ y ‘enlace’. El campo ‘datos’ almacena información real y el campo ‘enlace’ se usa para apuntar al siguiente Node. Básicamente, el campo ‘enlace’ almacena la dirección del siguiente Node. Introducción a … Continue reading «Diferencia entre la lista de enlaces simples y la lista de enlaces dobles»

Aplanar un árbol binario en una lista enlazada – Part 1

Dado un árbol binario, aclárelo en una lista enlazada en el lugar. No se permite el uso de estructuras de datos auxiliares. Después de aplanar, la izquierda de cada Node debe apuntar a NULL y la derecha debe contener el siguiente Node en orden previo. Ejemplos:   Input : 1 / \ 2 5 / \ … Continue reading «Aplanar un árbol binario en una lista enlazada – Part 1»

Combinar transacciones en hojas de banco en el orden en que ocurren, de modo que su suma siga siendo positiva

Dada una array arr[][] que consta de N listas que representan N transacciones, la tarea es fusionar las listas de transacciones dadas en el orden en que ocurren, de modo que en cualquier momento, la suma de las transacciones ya realizadas no sea negativo. Si se encuentra en negativo, imprima «-1» . De lo contrario, … Continue reading «Combinar transacciones en hojas de banco en el orden en que ocurren, de modo que su suma siga siendo positiva»

Diseño de estructura de datos para realizar las operaciones requeridas.

Diseñe una estructura de datos que pueda realizar las siguientes operaciones agregar() en O (n) getMinimum() en O(1) deleteMinimum() en O(1) Fuente: Entrevista de MakeMyTrip. Mantenga una lista enlazada con elementos en orden creciente. Mueve el cabezal a la siguiente posición en caso de eliminar la operación Min. Devuelve el primer elemento en caso de … Continue reading «Diseño de estructura de datos para realizar las operaciones requeridas.»