Suma máxima del subárbol en un árbol binario de modo que el subárbol también sea un BST

Dado un árbol binario, la tarea es imprimir la suma máxima de Nodes de un subárbol que también es un árbol de búsqueda binario . Ejemplos:  Input : 7 / \ 12 2 / \ \ 11 13 5 / / \ 2 1 38 Output:44 BST rooted under node 5 has the maximum sum … Continue reading «Suma máxima del subárbol en un árbol binario de modo que el subárbol también sea un BST»

Dividir N Nodes iniciales en una nueva Lista enlazada circular mientras se conservan los Nodes antiguos

Dada una lista enlazada circular con N Nodes y un número entero K donde 0 < K < N , la tarea es dividir los primeros K Nodes en una nueva lista y al mismo tiempo conservar el resto de los Nodes en la lista enlazada circular original. Ejemplos:   Entrada: 2 -> 3 -> 4 … Continue reading «Dividir N Nodes iniciales en una nueva Lista enlazada circular mientras se conservan los Nodes antiguos»

Estructuras de datos | Lista vinculada | Pregunta 9

En el peor de los casos, el número de comparaciones necesarias para buscar un elemento dado en una lista enlazada de longitud n es (GATE CS 2002) (A) log 2 n (B) n/2 (C) log 2 n – 1 (D) n Respuesta: (D) Explicación: En el peor de los casos, el elemento a buscar tiene … Continue reading «Estructuras de datos | Lista vinculada | Pregunta 9»

Estructuras de datos | Lista vinculada | Pregunta 5

Se supone que la siguiente función reverse() invierte una lista enlazada individualmente. Falta una línea al final de la función. /* Link list node */ struct node {     int data;     struct node* next; };    /* head_ref is a double pointer which points to head (or start) pointer    of linked list */ static void reverse(struct … Continue reading «Estructuras de datos | Lista vinculada | Pregunta 5»

Recuento de subarreglos comunes en dos permutaciones diferentes de 1 a N

Dados dos arreglos A y B de la misma longitud N , llenos con una permutación de números naturales de 1 a N , la tarea es contar el número de subarreglos comunes en A y B . Ejemplos:  Entrada: A = [1, 2, 3], B = [2, 3, 1]  Salida: 4  Explicación:  Los subarreglos … Continue reading «Recuento de subarreglos comunes en dos permutaciones diferentes de 1 a N»

Imprima la ruta más larga desde la raíz hasta la hoja en un árbol binario

Dado un árbol binario , la tarea es imprimir la ruta más larga desde el Node raíz hasta el Node hoja. Si hay varias respuestas, imprima cualquiera de ellas.  Ejemplos: Input: 4 / \ 3 6 / \ 5 7 Output: 4 -> 6 -> 7 Explanation: Longest paths from root to leaf are (4 … Continue reading «Imprima la ruta más larga desde la raíz hasta la hoja en un árbol binario»

Comprobar si se puede llegar al final de la array desde una posición determinada

Dada una array arr[] de N enteros positivos y un número S , la tarea es llegar al final de la array desde el índice S. Solo podemos pasar del índice actual i al índice (i + arr[i]) o (i – arr[i]) . Si hay una manera de llegar al final de la array, imprima … Continue reading «Comprobar si se puede llegar al final de la array desde una posición determinada»

Árbol de boas de Van Emde | Conjunto 4 | Supresión

Se recomienda encarecidamente leer primero los artículos anteriores sobre Van Emde Boas Tree . Procedimiento para Eliminar:  Aquí asumimos que la clave ya está presente en el árbol.  Primero verificamos si solo hay una clave presente, luego asignamos el máximo y el mínimo del árbol al valor nulo para eliminar la clave. Caso base: si … Continue reading «Árbol de boas de Van Emde | Conjunto 4 | Supresión»

Beneficio máximo comprando y vendiendo una acción como máximo dos veces | conjunto 2

Dada una array de precios [] que denota los precios de las acciones en diferentes días, la tarea es encontrar la máxima ganancia posible después de comprar y vender las acciones en diferentes días utilizando transacciones donde se permiten dos transacciones como máximo. Nota: no puede participar en varias transacciones al mismo tiempo (es decir, … Continue reading «Beneficio máximo comprando y vendiendo una acción como máximo dos veces | conjunto 2»

Entero mínimo que se puede obtener intercambiando dígitos adyacentes de diferente paridad

Dado un número entero N , la tarea es encontrar el número entero mínimo que se puede obtener a partir del número entero dado, de modo que los dígitos adyacentes de diferente paridad se puedan intercambiar cualquier número de veces. Dos dígitos de paridad diferente significa que tendrán residuos diferentes cuando se dividen por dos. Ejemplos:   … Continue reading «Entero mínimo que se puede obtener intercambiando dígitos adyacentes de diferente paridad»