Programa de Python para elementos de intercambio por pares de una lista vinculada determinada mediante el cambio de enlaces

Dada una lista enlazada individualmente, escriba una función para intercambiar elementos por pares. Por ejemplo, si la lista enlazada es 1->2->3->4->5->6->7 entonces la función debería cambiarla a 2->1->4->3->6->5 ->7, y si la lista enlazada es 1->2->3->4->5->6 entonces la función debería cambiarla a 2->1->4->3->6->5 Este problema ha sido discutido aquí . La solución proporcionada allí intercambia … Continue reading «Programa de Python para elementos de intercambio por pares de una lista vinculada determinada mediante el cambio de enlaces»

Programa de Python para fusionar dos listas enlazadas ordenadas de modo que la lista fusionada esté en orden inverso

Dadas dos listas enlazadas ordenadas en orden creciente. Combínalos de tal manera que la lista de resultados esté en orden decreciente (orden inverso). Ejemplos:  Input: a: 5->10->15->40 b: 2->3->20 Output: res: 40->20->15->10->5->3->2 Input: a: NULL b: 2->3->20 Output: res: 20->3->2 Una solución simple es hacer lo siguiente. 1) Invertir la primera lista ‘a’ . 2) Invertir la … Continue reading «Programa de Python para fusionar dos listas enlazadas ordenadas de modo que la lista fusionada esté en orden inverso»

Programa de Python para eliminar la mitad de la lista vinculada

Dada una lista enlazada individualmente, elimine la mitad de la lista enlazada. Por ejemplo, si la lista enlazada dada es 1->2->3->4->5, entonces la lista enlazada debe modificarse a 1->2->4->5 Si hay Nodes pares, entonces habría dos Nodes intermedios, debemos eliminar el segundo elemento intermedio. Por ejemplo, si la lista enlazada dada es 1->2->3->4->5->6, entonces debe … Continue reading «Programa de Python para eliminar la mitad de la lista vinculada»

Programa Java para insertar un nuevo Node en el medio de la lista circular enlazada

Dada una Lista Vinculada Circular, la tarea es agregar un Nuevo Node en el Medio de la Lista. Consideremos la siguiente lista circular enlazada: Lista antes de la inserción Lista después de la inserción Cree un nuevo Node (New_node). Compruebe si hay una lista vacía. Si la lista está vacía, inserte el Node como cabeza. … Continue reading «Programa Java para insertar un nuevo Node en el medio de la lista circular enlazada»

Insertar un Node en una posición específica en una lista vinculada

Dada una lista enlazada, una posición y un elemento, la tarea es escribir un programa para insertar ese elemento en una lista enlazada en una posición dada.  Ejemplos:  Input: 3->5->8->10, data = 2, position = 2 Output: 3->2->5->8->10 Input: 3->5->8->10, data = 11, position = 5 Output: 3->5->8->10->11 Enfoque: para insertar un dato dado en … Continue reading «Insertar un Node en una posición específica en una lista vinculada»

Intersección de dos listas enlazadas ordenadas

Dadas dos listas ordenadas en orden creciente, cree y devuelva una nueva lista que represente la intersección de las dos listas. La nueva lista debe hacerse con su propia memoria; las listas originales no deben cambiarse.  Ejemplo:  Input: First linked list: 1->2->3->4->6 Second linked list be 2->4->6->8, Output: 2->4->6. The elements 2, 4, 6 are … Continue reading «Intersección de dos listas enlazadas ordenadas»

Combinar dos listas enlazadas no ordenadas para obtener una lista ordenada – Part 1

Dadas dos listas enlazadas no ordenadas , la tarea es fusionarlas para obtener una lista enlazada individual ordenada . Ejemplos:  Entrada: Lista 1 = 3 -> 1 -> 5, Lista 2 = 6-> 2 -> 4  Salida: 1 -> 2 -> 3 -> 4 -> 5 -> 6 Entrada: Lista 1 = 4 -> 7 … Continue reading «Combinar dos listas enlazadas no ordenadas para obtener una lista ordenada – Part 1»

Suma de factoriales de números primos en una lista enlazada

Dada una lista enlazada de N enteros, la tarea es encontrar la suma de los factoriales de cada elemento primo de la lista. Ejemplos:   Entrada: L1 = 4 -> 6 -> 2 -> 12 -> 3  Salida: 8  Explicación:  ¡Los números primos son 2 y 3, por lo tanto, 2! + 3! = 2 + … Continue reading «Suma de factoriales de números primos en una lista enlazada»

Eliminar una lista enlazada usando recursividad

Elimine la lista vinculada dada utilizando el método  de recursión 1) Si la cabeza es igual a NULL, la lista vinculada está vacía, simplemente regresamos. 2) Eliminar recursivamente la lista vinculada después del Node principal. 3) Eliminar el Node principal.   C++ // C++ program to recursively delete a linked list #include <bits/stdc++.h>   /* Link list node … Continue reading «Eliminar una lista enlazada usando recursividad»

Enfoque basado en cola para el primer carácter no repetido en una secuencia

Dado un flujo de caracteres, tenemos que encontrar el primer carácter que no se repite cada vez que se inserta un carácter en el flujo.  Ejemplos:  C++ // C++ program for a Queue based approach // to find first non-repeating character #include <bits/stdc++.h> using namespace std; const int MAX_CHAR = 26;   // function to … Continue reading «Enfoque basado en cola para el primer carácter no repetido en una secuencia»