Programa de Python para reorganizar una lista vinculada de modo que todos los Nodes en posiciones pares e impares estén juntos

Reorganice una lista enlazada de tal manera que todos los Nodes de posiciones impares estén juntos y todos los Nodes de posiciones pares estén juntos.  Ejemplos:  Input: 1->2->3->4 Output: 1->3->2->4 Input: 10->22->30->43->56->70 Output: 10->30->56->22->43->70 Lo importante en esta pregunta es asegurarse de que todos los casos a continuación se manejen  Lista enlazada vacía. Una lista … Continue reading «Programa de Python para reorganizar una lista vinculada de modo que todos los Nodes en posiciones pares e impares estén juntos»

Programa de Python para comprobar si dos listas enlazadas son idénticas

Dos listas enlazadas son idénticas cuando tienen los mismos datos y la disposición de los datos también es la misma. Por ejemplo, las listas enlazadas a (1->2->3) yb(1->2->3) son idénticas. . Escribe una función para verificar si las dos listas enlazadas dadas son idénticas.  Método 1 (iterativo):  para identificar si dos listas son idénticas, debemos … Continue reading «Programa de Python para comprobar si dos listas enlazadas son idénticas»

Heap y Priority Queue usando el módulo heapq en Python

Los montones son estructuras de datos en forma de árbol ampliamente utilizadas en las que los Nodes principales cumplen cualquiera de los criterios que se indican a continuación. El valor del Node principal en cada nivel es menor o igual que los valores de sus hijos: min-heap. El valor del Node padre en cada nivel … Continue reading «Heap y Priority Queue usando el módulo heapq en Python»

Python | Apilar usando la lista doblemente enlazada

Una pila es una colección de objetos que se insertan y eliminan utilizando el principio de último en entrar, primero en salir (LIFO). El usuario puede insertar elementos en la pila y solo puede acceder o eliminar el objeto insertado recientemente en la parte superior de la pila. La principal ventaja de usar LinkedList sobre … Continue reading «Python | Apilar usando la lista doblemente enlazada»

Buscar un elemento en una Lista Enlazada (Iterativa y Recursiva)

Escriba una función que busque una clave ‘x’ dada en una lista dada de enlaces simples. La función debe devolver verdadero si x está presente en la lista enlazada y falso en caso contrario.   bool search(Node *head, int x) Por ejemplo, si la clave a buscar es 15 y la lista enlazada es 14->21->11->30->10, entonces … Continue reading «Buscar un elemento en una Lista Enlazada (Iterativa y Recursiva)»

Programa de Python para encontrar la longitud del bucle en la lista vinculada

Escriba una función detectAndCountLoop() que verifique si una lista enlazada dada contiene un bucle y, si el bucle está presente, devuelve el recuento de Nodes en el bucle. Por ejemplo, el bucle está presente en la lista de enlaces a continuación y la longitud del bucle es 4. Si el bucle no está presente, la … Continue reading «Programa de Python para encontrar la longitud del bucle en la lista vinculada»

Programa de Python para eliminar duplicados de una lista enlazada ordenada

Escriba una función que tome una lista ordenada en orden no decreciente y elimine cualquier Node duplicado de la lista. La lista solo debe recorrerse una vez. Por ejemplo, si la lista vinculada es 11->11->11->21->43->43->60, removeDuplicates() debería convertir la lista a 11->21->43->60.  Algoritmo:  recorrer la lista desde el Node principal (o inicial). Mientras atraviesa, compare cada … Continue reading «Programa de Python para eliminar duplicados de una lista enlazada ordenada»

Programa de Python para verificar si una lista enlazada individualmente es Palindrome

Dada una lista de caracteres enlazados individualmente, escriba una función que devuelva verdadero si la lista dada es un palíndromo, de lo contrario, falso. MÉTODO 1 (Usar una pila):  Una solución simple es usar una pila de Nodes de lista. Esto implica principalmente tres pasos. Recorra la lista dada de principio a fin y empuje … Continue reading «Programa de Python para verificar si una lista enlazada individualmente es Palindrome»

Programa de Python para ordenar por fusión para una lista doblemente enlazada

Dada una lista doblemente enlazada, escribe una función para ordenar la lista doblemente enlazada en orden creciente usando la ordenación por combinación. Por ejemplo, la siguiente lista doblemente enlazada debe cambiarse a 24810 Ya se ha discutido la ordenación por combinación para la lista enlazada individualmente . El cambio importante aquí es modificar los punteros … Continue reading «Programa de Python para ordenar por fusión para una lista doblemente enlazada»

Implementación de Hashing con Chaining en Python

Hashing es una estructura de datos que se utiliza para almacenar una gran cantidad de datos, a los que se puede acceder en O(1)el tiempo mediante operaciones como buscar, insertar y eliminar. Varias aplicaciones de Hashing son: Indexación en la base de datos Criptografía Tablas de símbolos en compilador/intérprete Diccionarios, cachés, etc. Concepto de Hashing, … Continue reading «Implementación de Hashing con Chaining en Python»