El gran problema de recursión de la lista de árboles.

Preguntado por Varun Bhatia. Pregunta: Escriba una función recursiva treeToList(Node root) que tome un árbol binario ordenado y reorganice los punteros internos para hacer una lista circular doblemente enlazada a partir de los Nodes del árbol. Los punteros «anteriores» deben almacenarse en el campo «pequeño» y los punteros «siguientes» deben almacenarse en el campo «grande». … Continue reading «El gran problema de recursión de la lista de árboles.»

Ordenar una lista ordenada doblemente enlazada

Dada una lista doblemente enlazada que contiene n Nodes, donde cada Node está a lo sumo k alejado de su posición objetivo en la lista. El problema es ordenar la lista doblemente enlazada dada. Por ejemplo, consideremos k es 2, un Node en la posición 7 en la lista doblemente enlazada ordenada, puede estar en las … Continue reading «Ordenar una lista ordenada doblemente enlazada»

Eliminar todos los Nodes de una lista doblemente enlazada que son más pequeños que un valor dado

Dada una lista doblemente enlazada que contiene N Nodes y un número K, la tarea es eliminar todos los Nodes de la lista que son más pequeños que el valor K dado. Ejemplos:  Input: 15 <=> 16 <=> 10 <=> 9 <=> 6 <=> 7 <=> 17 K = 10 Output: 15 <=> 16 <=> … Continue reading «Eliminar todos los Nodes de una lista doblemente enlazada que son más pequeños que un valor dado»

Número de componentes conectados en una lista doblemente enlazada

Dada una lista doblemente enlazada ‘L’ y una array ‘refArr’ de referencias a los Nodes de la lista doblemente enlazada ‘L’. La array ‘refArr’ no contiene referencias duplicadas y las referencias no están ORDENADAS . m <= número total de Nodes en la lista doblemente enlazada donde m = tamaño de la array de referencia. La tarea … Continue reading «Número de componentes conectados en una lista doblemente enlazada»

Lista doblemente enlazada utilizando Nodes centinela

En el caso de la lista doblemente enlazada simple , si tenemos que realizar la operación de inserción o eliminación al principio de la lista doblemente enlazada, al final de la lista doblemente enlazada, o entre los Nodes inicial y final de cada uno, necesitamos verifique las diferentes condiciones que hacen que el algoritmo sea … Continue reading «Lista doblemente enlazada utilizando Nodes centinela»

Programa Java 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 Java para invertir una lista doblemente enlazada»

Eliminar todos los Nodes de paridad par de una lista doblemente enlazada y circular simple

Dada una lista doblemente enlazada y una lista circular sencillamente enlazada que contiene N Nodes, la tarea es eliminar todos los Nodes de cada lista que contiene elementos cuya paridad es par. Ejemplo:  Entrada: CLL = 9 -> 11 -> 34 -> 6 -> 13 -> 21  Salida: 11 -> 13 -> 21  Explicación:  La … Continue reading «Eliminar todos los Nodes de paridad par de una lista doblemente enlazada y circular simple»

Cola de prioridad usando la lista doblemente enlazada

Dados los Nodes con su prioridad, implemente una cola de prioridad usando una lista doblemente enlazada.  Requisito previo: cola de prioridad push(): esta función se utiliza para insertar nuevos datos en la cola. pop(): esta función elimina el elemento con el valor de prioridad más bajo de la cola. peek() / top(): esta función se … Continue reading «Cola de prioridad usando la lista doblemente enlazada»

Eliminar todas las apariciones de una clave dada en una lista doblemente enlazada

Dada una lista doblemente enlazada y una clave x . El problema es eliminar todas las apariciones de la clave dada x de la lista doblemente enlazada. Ejemplos: Algoritmo:  delAllOccurOfGivenKey(head_ref, x) if head_ref == NULL return Initialize current = head_ref Declare next while current != NULL if current->data == x next = current->next deleteNode(head_ref, current) … Continue reading «Eliminar todas las apariciones de una clave dada en una lista doblemente enlazada»

Encuentre el recuento de Nodes comunes en dos listas doblemente enlazadas

Dadas dos listas doblemente enlazadas. La tarea es encontrar el número total de Nodes comunes en la lista doblemente enlazada. Ejemplos:   Input : list 1 = 15 <=> 16 <=> 10 <=> 9 <=> 6 <=> 7 <=> 17 list 2 = 15 <=> 16 <=> 45 <=> 9 <=> 6 Output : Number of … Continue reading «Encuentre el recuento de Nodes comunes en dos listas doblemente enlazadas»