Programa C para clasificación de combinación iterativa

A continuación se muestra una implementación recursiva típica de Merge Sort que usa el último elemento como pivote.  C /* Recursive C program for merge sort */ #include <stdio.h> #include <stdlib.h>   /* Function to merge the two haves arr[l..m] and arr[m+1..r] of array arr[] */ void merge(int arr[], int l, int m, int r); … Continue reading «Programa C para clasificación de combinación iterativa»

Programa C++ para ordenar una lista vinculada que se ordena alternando órdenes ascendentes y descendentes

Dada una lista enlazada. La lista enlazada está en orden ascendente y descendente alternado. Ordena la lista de manera eficiente.  Ejemplo:  Input List: 10 -> 40 -> 53 -> 30 -> 67 -> 12 -> 89 -> NULL Output List: 10 -> 12 -> 30 -> 40 -> 53 -> 67 -> 89 -> NULL … Continue reading «Programa C++ para ordenar una lista vinculada que se ordena alternando órdenes ascendentes y descendentes»

Programa C para clasificación de combinación para 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 C para clasificación de combinación para lista doblemente enlazada»

Contar inversiones en una array | Conjunto 1 (usando la ordenación por combinación)

El conteo de inversión para una array indica qué tan lejos (o cerca) está la array de ser ordenada. Si la array ya está ordenada, entonces el conteo de inversión es 0, pero si la array está ordenada en orden inverso, el conteo de inversión es el máximo.  Hablando formalmente, dos elementos a[i] y a[j] … Continue reading «Contar inversiones en una array | Conjunto 1 (usando la ordenación por combinación)»

Cómo ordenar eficientemente una gran lista de fechas en 20

Dada una gran lista de fechas en los años 20, cómo ordenar la lista de manera eficiente.  Ejemplo:  Input: Date arr[] = {{20, 1, 2014}, {25, 3, 2010}, { 3, 12, 2000}, {18, 11, 2001}, {19, 4, 2015}, { 9, 7, 2005}} Output: Date arr[] = {{ 3, 12, 2000}, {18, 11, 2001}, { 9, … Continue reading «Cómo ordenar eficientemente una gran lista de fechas en 20»

Programa de Python para ordenación de combinación iterativa

A continuación se muestra una implementación recursiva típica de Merge Sort que usa el último elemento como pivote. Python   Python # Recursive Python Program for merge sort   def merge(left, right):     if not len(left) or not len(right):         return left or right       result = []     i, j = 0, 0     while (len(result) < len(left) … Continue reading «Programa de Python para ordenación de combinación iterativa»

Fusionar K listas enlazadas ordenadas | Serie 1

Dadas K listas enlazadas ordenadas de tamaño N cada una, combínelas e imprima la salida ordenada. Ejemplos:  Input: k = 3, n = 4 list1 = 1->3->5->7->NULL list2 = 2->4->6->8->NULL list3 = 0->9->10->11->NULL Output: 0->1->2->3->4->5->6->7->8->9->10->11 Merged lists in a sorted order where every element is greater than the previous element. Input: k = 3, n … Continue reading «Fusionar K listas enlazadas ordenadas | Serie 1»

Clasificación de combinación simultánea en memoria compartida

Dado un número ‘n’ y un número, ordene los números usando la clasificación de combinación simultánea . (Sugerencia: intente usar llamadas al sistema shmget, shmat). Parte 1: El algoritmo (¿CÓMO?)  Crea recursivamente dos procesos secundarios, uno para la mitad izquierda y otro para la mitad derecha. Si el número de elementos en la array para … Continue reading «Clasificación de combinación simultánea en memoria compartida»

Programa Javascript para ordenar la lista vinculada que ya está ordenada en valores absolutos

Dada una lista enlazada que se ordena en función de valores absolutos. Ordene la lista según los valores reales. Ejemplos:  Input: 1 -> -10 Output: -10 -> 1 Input: 1 -> -2 -> -3 -> 4 -> -5 Output: -5 -> -3 -> -2 -> 1 -> 4 Input: -5 -> -10 Output: -10 -> … Continue reading «Programa Javascript para ordenar la lista vinculada que ya está ordenada en valores absolutos»

Programa C++ para ordenar por fusión para 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 C++ para ordenar por fusión para lista doblemente enlazada»