Construya una lista enlazada doblemente enlazada a partir de 2D Matrix

Dada una array 2D , la tarea es convertirla en una lista doblemente enlazada con cuatro punteros que son siguiente, anterior, arriba y abajo, cada Node de esta lista debe estar conectado a sus Nodes siguiente, anterior, arriba y abajo. . Ejemplos: Input: 2D matrix 1 2 3 4 5 6 7 8 9 Output: … Continue reading «Construya una lista enlazada doblemente enlazada a partir de 2D Matrix»

Diseñar una estructura de datos eficiente para determinadas operaciones

Diseñe una estructura de datos para las siguientes operaciones. La estructura de datos debe ser lo suficientemente eficiente para acomodar las operaciones de acuerdo con su frecuencia. 1) findMin() : Returns the minimum item. Frequency: Most frequent 2) findMax() : Returns the maximum item. Frequency: Most frequent 3) deleteMin() : Delete the minimum item. Frequency: … Continue reading «Diseñar una estructura de datos eficiente para determinadas operaciones»

Aritmética de números grandes usando listas doblemente enlazadas

Dados dos números muy grandes en forma de strings. Su tarea es aplicar diferentes operaciones aritméticas en estas strings. Requisito previo: Lista doblemente enlazada. Ejemplos: Input : m : 123456789123456789123456789123456789123456789123456789 n : 456789123456789123456789123456789123456789123456789 Output : Product : 563937184884934839205932493526930147847927802168925… 30351019811918920046486820281054720515622620750190521 Sum : 123913578246913578246913578246913578246913578246913578 Difference : 123000000000000000000000000000000000000000000000000000 Quotient : 270 Remainder(%) : 123725790123725790123725790123725790123725790123759 Input : m : … Continue reading «Aritmética de números grandes usando listas doblemente enlazadas»

Producto de todos los Nodes primos en una lista doblemente enlazada

Dada una lista doblemente enlazada que contiene N Nodes. La tarea es encontrar el producto de todos los Nodes primos. Ejemplo:   Entrada: Lista = 15 <=> 16 <=> 6 <=> 7 <=> 17  Salida: Producto de Nodes principales: 119 Entrada: Lista = 5 <=> 3 <=> 4 <=> 2 <=> 9  Salida: Producto de Prime … Continue reading «Producto de todos los Nodes primos en una lista doblemente enlazada»

Invertir una lista enlazada doblemente circular

El problema es invertir la lista enlazada doblemente circular dada. Ejemplos:  Entrada:  Producción:   Algoritmo:   insertEnd(head, new_node) Declare last if head == NULL then new_node->next = new_node->prev = new_node head = new_node return last = head->prev new_node->next = head head->prev = new_node new_node->prev = last last->next = new_node reverse(head) Initialize new_head = NULL Declare last last … Continue reading «Invertir una lista enlazada doblemente circular»

Implementación de la pila utilizando la lista doblemente enlazada

Las listas apiladas y doblemente enlazadas son dos estructuras de datos importantes con sus propios beneficios. Stack es una estructura de datos que sigue la técnica LIFO y se puede implementar utilizando arrays o estructuras de datos de lista enlazada. La lista doblemente enlazada tiene la ventaja de que también puede atravesar el Node anterior … Continue reading «Implementación de la pila utilizando la lista doblemente enlazada»

Programa C++ para invertir una lista doblemente enlazada

Dada una lista doblemente enlazada , la tarea es invertir la lista doblemente enlazada dada. Vea los diagramas a continuación, por ejemplo.  (a) Original Doubly Linked List (b) Reversed Doubly Linked List Aquí hay un método simple para invertir una lista doblemente enlazada. Todo lo que tenemos que hacer es intercambiar los punteros anterior y … Continue reading «Programa C++ para invertir una lista doblemente enlazada»

Compruebe si el recorrido en orden de un árbol binario es palíndromo o no

Dado un árbol binario y la tarea de verificar si su Inorder Sequence es un palíndromo o no. Ejemplos:   Aporte:   Salida: Verdadero  Explicación:  La secuencia Inorder del árbol es «bbaaabb», que es una string palindrómica. Aporte:   Salida: Falso  Explicación:  La secuencia Inorder del árbol es «bbdaabb», que no es una string palindrómica.   Enfoque:  Para resolver el … Continue reading «Compruebe si el recorrido en orden de un árbol binario es palíndromo o no»

Convertir un árbol binario dado en una lista doblemente enlazada | conjunto 2

Dado un árbol binario (BT), conviértalo en una lista doblemente enlazada (DLL). Los punteros izquierdo y derecho en los Nodes se utilizarán como punteros anterior y siguiente, respectivamente, en la DLL convertida. El orden de los Nodes en DLL debe ser el mismo que en Inorder para el árbol binario dado. El primer Node del … Continue reading «Convertir un árbol binario dado en una lista doblemente enlazada | conjunto 2»

Eliminar duplicados de una lista ordenada doblemente enlazada

Dada una lista ordenada doblemente enlazada que contiene n Nodes. El problema es eliminar los Nodes duplicados de la lista dada. Ejemplos:  Algoritmo: removeDuplicates(head_ref, x) if head_ref == NULL return Initialize current = head_ref while current->next != NULL if current->data == current->next->data deleteNode(head_ref, current->next) else current = current->next El algoritmo para deleteNode(head_ref, current) (que elimina … Continue reading «Eliminar duplicados de una lista ordenada doblemente enlazada»