Unión e intersección de dos arrays ordenadas

Dadas dos arrays ordenadas, encuentre su unión e intersección. Ejemplo: Entrada: arr1[] = {1, 3, 4, 5, 7}         arr2[] = {2, 3, 5, 6}  Salida: Unión: {1, 2, 3, 4, 5, 6, 7}           Intersección : {3, 5} Entrada: arr1[] = {2, 5, 6}         … Continue reading «Unión e intersección de dos arrays ordenadas»

Clasificación de combinación iterativa – Part 1

A continuación se muestra una implementación recursiva típica de Merge Sort  C++ // Recursive C++ program for merge sort  #include<bits/stdc++.h> using namespace std;    // 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);    // l is for left index and … Continue reading «Clasificación de combinación iterativa – Part 1»

Clasificación de combinación en el lugar | conjunto 2

Dada una array A[] de tamaño N , la tarea es ordenar la array en orden creciente utilizando In-Place Merge Sort . Ejemplos: Entrada: A = {5, 6, 3, 2, 1, 6, 7} Salida: {1, 2, 3, 5, 6, 6, 7} Entrada: A = {2, 3, 4, 1} Salida: {1, 2, 3, 4} Enfoque: la … Continue reading «Clasificación de combinación en el lugar | conjunto 2»

Ordenar por fusión usando subprocesos múltiples

Merge Sort es una técnica de clasificación popular que divide una array o lista en dos mitades y luego comienza a fusionarlas cuando se alcanza la profundidad suficiente. La complejidad de tiempo del ordenamiento por fusión es O(nlogn). Los subprocesos son procesos livianos y los subprocesos comparten con otros subprocesos su sección de código, sección … Continue reading «Ordenar por fusión usando subprocesos múltiples»

Programa C++ para eliminar duplicados de una lista enlazada sin clasificar

Escriba una función removeDuplicates() que tome una lista y elimine cualquier Node duplicado de la lista. La lista no está ordenada. Por ejemplo, si la lista vinculada es 12->11->12->21->41->43->21, removeDuplicates() debería convertir la lista a 12->11->21->41->43. MÉTODO 1 (Uso de dos bucles):  Esta es la forma sencilla en la que se utilizan dos bucles. El bucle … Continue reading «Programa C++ para eliminar duplicados de una lista enlazada sin clasificar»

Programa Javascript para contar inversiones en una array: conjunto 1 (usando Merge Sort)

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] forman … Continue reading «Programa Javascript para contar inversiones en una array: conjunto 1 (usando Merge Sort)»

Combinar ordenación para listas vinculadas

  A menudo se prefiere la ordenación por combinación para ordenar una lista vinculada. El lento rendimiento de acceso aleatorio de una lista enlazada hace que algunos otros algoritmos (como la ordenación rápida) funcionen mal y otros (como la ordenación heap) sean completamente imposibles.  Deje que head sea el primer Node de la lista enlazada … Continue reading «Combinar ordenación para listas vinculadas»

Ordenar una array cuando se ordenan dos mitades

Dada una array de enteros de la que se ordenan tanto la primera mitad como la segunda mitad. La tarea es fusionar dos mitades ordenadas de una array en una sola array ordenada. Ejemplos:  Input : A[] = { 2, 3, 8, -1, 7, 10 } Output : -1, 2, 3, 7, 8, 10 Input … Continue reading «Ordenar una array cuando se ordenan dos mitades»

Cuente los pares (i, j) de un arreglo dado tal que i < j y arr[i] > K * arr[j]

Dada una array arr[] de longitud N y un entero K , la tarea es contar el número de pares (i, j) tales que i < j y arr[i] > K * arr[j] . Ejemplos: Entrada: arr[] = {5, 6, 2, 5}, K = 2 Salida: 2 Explicación: La array consta de dos de estos … Continue reading «Cuente los pares (i, j) de un arreglo dado tal que i < j y arr[i] > K * arr[j]»

Encuentre una array con k número de llamadas de clasificación de combinación

Dados dos números n y k, encuentre una array que contenga valores en [1, n] y requiera exactamente k llamadas de la función de clasificación de combinación recursiva . Ejemplos:  Input : n = 3 k = 3 Output : a[] = {2, 1, 3} Explanation: Here, a[] = {2, 1, 3} First of all, … Continue reading «Encuentre una array con k número de llamadas de clasificación de combinación»