Encuentre el elemento mínimo en una array ordenada y rotada

Una array ordenada arr[] de tamaño N se gira en algún punto desconocido, encuentre el elemento mínimo en ella.  Nota: Se supone que todos los elementos son distintos. C++ // C++ program to find minimum // element in a sorted and rotated array #include <bits/stdc++.h> using namespace std;   int findMin(int arr[], int low, int … Continue reading «Encuentre el elemento mínimo en una array ordenada y rotada»

Comprobar si un árbol binario es un subárbol de otro árbol binario | Serie 1

Dados dos árboles binarios, compruebe si el primer árbol es subárbol del segundo. Un subárbol de un árbol T es un árbol S que consta de un Node en T y todos sus descendientes en T. El subárbol correspondiente al Node raíz es el árbol completo; el subárbol correspondiente a cualquier otro Node se denomina … Continue reading «Comprobar si un árbol binario es un subárbol de otro árbol binario | Serie 1»

Escribir código para determinar si dos árboles son idénticos

Dos árboles son idénticos cuando tienen los mismos datos y la disposición de los datos también es la misma. Para identificar si dos árboles son idénticos, necesitamos atravesar ambos árboles simultáneamente, y mientras lo hacemos, necesitamos comparar los datos y los hijos de los árboles.  Algoritmo:   sameTree(tree1, tree2) 1. If both trees are empty then return … Continue reading «Escribir código para determinar si dos árboles son idénticos»

Encuentra el medio de una lista enlazada dada

Dada una lista enlazada individualmente, busque el centro de la lista enlazada. Por ejemplo, si la lista enlazada dada es 1->2->3->4->5, entonces la salida debería ser 3.  Si hay Nodes pares, entonces habría dos Nodes intermedios, necesitamos imprimir el segundo intermedio. elemento. Por ejemplo, si la lista enlazada dada es 1->2->3->4->5->6, entonces la salida debería … Continue reading «Encuentra el medio de una lista enlazada dada»

Dividir un conjunto en dos subconjuntos de modo que la diferencia de las sumas de los subconjuntos sea mínima

Dado un conjunto de números enteros, la tarea es dividirlo en dos conjuntos S1 y S2 de modo que la diferencia absoluta entre sus sumas sea mínima. Si hay un conjunto S con n elementos, si asumimos que el Subconjunto1 tiene m elementos, el Subconjunto2 debe tener nm elementos y el valor de abs(sum(Subset1) – sum(Subset2)) … Continue reading «Dividir un conjunto en dos subconjuntos de modo que la diferencia de las sumas de los subconjuntos sea mínima»

Imprimir vista izquierda de un árbol binario

Dado un árbol binario, imprima la vista izquierda del mismo. La vista izquierda de un árbol binario es un conjunto de Nodes visibles cuando se visita el árbol desde el lado izquierdo. C++ // C++ program to print left view of Binary Tree #include <bits/stdc++.h> using namespace std;   struct Node {     int data;     struct … Continue reading «Imprimir vista izquierda de un árbol binario»

Elementos de array que aparecen más de una vez

Dada una array de enteros, imprima todos los elementos repetidos (elementos que aparecen más de una vez) en la array. La salida debe contener elementos según sus primeras apariciones. Ejemplos:  Input: arr[] = {12, 10, 9, 45, 2, 10, 10, 45} Output: 10 45 Input: arr[] = {1, 2, 3, 4, 2, 5} Output: 2 … Continue reading «Elementos de array que aparecen más de una vez»

Contar palabras en una string dada

Dada una string, cuenta el número de palabras que contiene. Las palabras están separadas por los siguientes caracteres: espacio (‘ ‘) o nueva línea (‘\n’) o tabulación (‘\t’) o una combinación de estos.  Puede haber muchas soluciones a este problema. La siguiente es una solución simple e interesante. La idea es mantener dos estados: IN y … Continue reading «Contar palabras en una string dada»

Eliminar espacios de una string dada

Dada una string, elimine todos los espacios de la string y devuélvala.  Input: «g eeks for ge eeks » Output: «geeksforgeeks» La complejidad de tiempo esperada es O (n) y solo un recorrido de string.  C++ // An efficient C++ program to remove all spaces // from a string #include <iostream> using namespace std;   … Continue reading «Eliminar espacios de una string dada»

Mediana de dos arreglos ordenados del mismo tamaño

  Hay 2 arreglos ordenados A y B de tamaño n cada uno. Escriba un algoritmo para encontrar la mediana de la array obtenida después de fusionar las 2 arrays anteriores (es decir, una array de longitud 2n). La complejidad debe ser O(log(n)).  Haga clic aquí para el curso completo! C++ // A Simple Merge … Continue reading «Mediana de dos arreglos ordenados del mismo tamaño»