Montón mínimo en Python

Un Min-Heap es un árbol binario completo en el que el valor de cada Node interno es menor o igual que los valores de los elementos secundarios de ese Node. Mapear los elementos de un montón en una array es trivial: si un Node se almacena en el índice k , entonces su hijo izquierdo se … Continue reading «Montón mínimo en Python»

Longitud máxima de 1 consecutivos en una string binaria en Python usando la función Map

Nos dan una string binaria que contiene 1 y 0. Encuentre la longitud máxima de 1 consecutivos en él. Ejemplos:  Input : str = ‘11000111101010111’ Output : 4 Tenemos una solución existente para este problema, consulte Máximo de uno (o ceros) consecutivos en un enlace de array binaria. Podemos resolver este problema en una sola … Continue reading «Longitud máxima de 1 consecutivos en una string binaria en Python usando la función Map»

Programa Python3 para rotar la lista doblemente enlazada por N Nodes

Dada una lista doblemente enlazada, gire la lista enlazada en sentido contrario a las agujas del reloj por N Nodes. Aquí N es un número entero positivo dado y es más pequeño que el número de Nodes en la lista enlazada.   N = 2 Lista rotada:   Ejemplos:   Input : a b c d e N … Continue reading «Programa Python3 para rotar la lista doblemente enlazada por N Nodes»

Programa de Python para ordenar por inserción en una lista enlazada individualmente

Hemos discutido la ordenación por inserción para arreglos . En este artículo vamos a discutir la ordenación por inserción para la lista enlazada. A continuación se muestra un algoritmo de clasificación de inserción simple para una lista enlazada.  1) Create an empty sorted (or result) list. 2) Traverse the given list, do following for every node. … Continue reading «Programa de Python para ordenar por inserción en una lista enlazada individualmente»

Programa de Python para comparar dos strings representadas como listas vinculadas

Dadas dos strings, representadas como listas enlazadas (cada carácter es un Node en una lista enlazada). Escriba una función compare() que funcione de manera similar a strcmp(), es decir, devuelva 0 si ambas strings son iguales, 1 si la primera lista enlazada es lexicográficamente mayor y -1 si la segunda string es lexicográficamente mayor. Ejemplos: … Continue reading «Programa de Python para comparar dos strings representadas como listas vinculadas»

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 buscar un elemento en una lista enlazada circular

Una lista enlazada es un tipo de estructura de datos lineal donde cada Node tiene una parte de datos y una parte de dirección que apunta al siguiente Node. Una lista enlazada circular es un tipo de lista enlazada donde el último Node apunta al primero, formando un círculo de Nodes. Ejemplo: Input: CList = … Continue reading «Programa de Python para buscar un elemento en una lista enlazada circular»

Cola de prioridad en Python

Las colas de prioridad son estructuras de datos abstractas en las que cada dato/valor de la cola tiene una determinada prioridad. Por ejemplo, en las aerolíneas, el equipaje con título “Business” o “Primera clase” llega antes que el resto. Priority Queue es una extensión de la cola con las siguientes propiedades. Un elemento con prioridad … Continue reading «Cola de prioridad en Python»

Escribir una función para eliminar una lista enlazada

Algoritmo para C/C++: Iterar a través de la lista enlazada y eliminar todos los Nodes uno por uno. El punto principal aquí es no acceder al siguiente del puntero actual si se elimina el puntero actual. En Java, Python y JavaScript , se produce una recolección de basura automática, por lo que eliminar una lista … Continue reading «Escribir una función para eliminar una lista enlazada»

Programa de Python para la clasificación de selección recursiva para una 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: 4 -> … Continue reading «Programa de Python para la clasificación de selección recursiva para una lista enlazada individualmente: intercambio de enlaces de Node»