Particionar una lista enlazada en K grupos continuos con diferencias en sus tamaños como máximo 1

Dada una lista enlazada que consta de N Nodes y un número entero K , la tarea es dividir la lista enlazada dada en K grupos continuos de modo que la diferencia entre el tamaño de los grupos adyacentes después de la división sea como máximo 1 y los grupos se ordenen de forma descendente … Continue reading «Particionar una lista enlazada en K grupos continuos con diferencias en sus tamaños como máximo 1»

Eliminar todos los Nodes de Fibonacci de una lista circular con enlaces simples

Dada una lista circular enlazada individualmente que contiene N Nodes, la tarea es eliminar todos los Nodes de la lista que contiene valores de datos de Fibonacci . Ejemplos:   Entrada: CLL = 9 -> 11 -> 34 -> 6 -> 13 -> 20  Salida: 9 -> 11 -> 6 -> 20  Explicación:  La lista contiene … Continue reading «Eliminar todos los Nodes de Fibonacci de una lista circular con enlaces simples»

Suma de Nodes en una lista enlazada que son mayores que el siguiente Node

Dada una lista enlazada, la tarea es encontrar la suma de todos los Nodes que son mayores que el Node contiguo. Tenga en cuenta que para el último Node de la lista enlazada que no tiene ningún Node al lado, debe ser mayor que el primer Node para que contribuya a la suma. Ejemplos:   Entrada: … Continue reading «Suma de Nodes en una lista enlazada que son mayores que el siguiente Node»

Lista vinculada XOR: inserte un elemento en una posición específica

Dada una lista enlazada XOR y la posición y el valor de dos enteros , la tarea es insertar un Node que contenga valor como la posición del Node XOR de la lista enlazada XOR . Ejemplos : Entrada: 4<–>7<–>9<–>7, posición = 3, valor = 6  Salida: 4<–>7<–>6<–>9<–>7 Explicación:  Insertar un Node en el 3 … Continue reading «Lista vinculada XOR: inserte un elemento en una posición específica»

Clasificación de selección recursiva para lista enlazada individualmente | Intercambio de enlaces de Node

Dada una lista enlazada individualmente que contiene n Nodes. El problema es ordenar la lista utilizando la técnica de ordenación por selección recursiva. El enfoque debe ser tal que implique intercambiar enlaces de Nodes en lugar de intercambiar datos de Nodes.   Ejemplos:  Input : 10 -> 12 -> 8 -> 4 -> 6 Output : … Continue reading «Clasificación de selección recursiva para lista enlazada individualmente | Intercambio de enlaces de Node»

Inserte N elementos en una lista enlazada uno tras otro en la posición media

Dada una array de N elementos. La tarea es insertar los elementos dados en la posición media en la lista enlazada uno tras otro. Cada operación de inserción debe tener una complejidad de tiempo O(1). Ejemplos:   Entrada: arr[] = {1, 2, 3, 4, 5}  Salida: 1 -> 3 -> 5 -> 4 -> 2 -> … Continue reading «Inserte N elementos en una lista enlazada uno tras otro en la posición media»

Programa para encontrar el promedio de todos los Nodes en una Lista Enlazada

Dada una lista enlazada simple. La tarea es encontrar el promedio de todos los Nodes de la lista enlazada simple dada . Ejemplos :   Input: 7->6->8->4->1 Output: 26 Average of nodes: (7 + 6 + 8 + 4 + 1 ) / 5 = 5.2 Input: 1->7->3->9->11->5 Output: 6 Solución iterativa:   Inicialice un puntero ptr … Continue reading «Programa para encontrar el promedio de todos los Nodes en una Lista Enlazada»

Enstringmiento de tablas hash con listas doblemente enlazadas

Requisito previo: Introducción al hash , Hashtable usando una lista enlazada individualmente e implementando nuestra propia tabla hash con enstringmiento separado en Java Implementar una tabla hash usando enstringmiento a través de una lista doblemente enlazada es similar a implementar Hashtable usando una lista enlazada individualmente . La única diferencia es que cada Node de … Continue reading «Enstringmiento de tablas hash con listas doblemente enlazadas»

Enfoque recursivo para encontrar el Node n desde el final en la lista enlazada

Encuentre el Node n desde el final en la lista enlazada dada usando un enfoque recursivo. Ejemplos:  Input : list: 4->2->1->5->3 n = 2 Output : 5 Algoritmo:   findNthFromLast(head, n, count, nth_last) if head == NULL then return findNthFromLast(head->next, n, count, nth_last) count = count + 1 if count == n then nth_last = head … Continue reading «Enfoque recursivo para encontrar el Node n desde el final en la lista enlazada»

Eliminar un Node dado en la lista enlazada bajo restricciones dadas

Dada una lista enlazada individualmente, escriba una función para eliminar un Node determinado. Su función debe seguir las siguientes restricciones:  1) Debe aceptar un puntero al Node de inicio como primer parámetro y el Node a eliminar como segundo parámetro, es decir, un puntero al Node principal no es global. 2) No debería devolver un puntero … Continue reading «Eliminar un Node dado en la lista enlazada bajo restricciones dadas»