Recorrido en zig-zag de un árbol binario usando recursión

Dado un árbol binario, la tarea es imprimir el orden en zigzag del árbol. Ejemplos:   Input : 7 / \ 6 5 / / 4 3 / \ 2 1 Output : 7 5 6 4 3 1 2 Input : 1 / \ 2 3 / \ 4 5 Output : 1 3 2 … Continue reading «Recorrido en zig-zag de un árbol binario usando recursión»

Algoritmos | Recursividad | Pregunta 7

¿Qué hace la siguiente función? int fun(unsigned int n) {     if (n == 0 || n == 1)         return n;        if (n%3 != 0)         return 0;        return fun(n/3); } (A) Devuelve 1 cuando n es un múltiplo de 3, de lo contrario devuelve 0 (B) Devuelve 1 cuando n es una potencia de … Continue reading «Algoritmos | Recursividad | Pregunta 7»

Programa para desplegar una lista enlazada doblada

Una lista enlazada L 0 -> L 1 -> L 2 -> ….. -> L N se puede plegar como L 0 -> L N -> L 1 -> L N – 1 -> L 2 -> …. Dada una lista enlazada plegada ,  la tarea es desplegar e imprimir la lista enlazada original Ejemplos:   … Continue reading «Programa para desplegar una lista enlazada doblada»

Número de secuencias que tiene HEAD en posiciones alternas a la derecha del primer HEAD

Dado que se lanza una moneda N veces. La tarea es encontrar el número total de la secuencia de lanzamientos tal que después de la primera cara desde la izquierda, todas las posiciones alternas a la derecha estén ocupadas solo por la cara. Las posiciones excepto la posición alterna pueden ser ocupadas por cualquiera de … Continue reading «Número de secuencias que tiene HEAD en posiciones alternas a la derecha del primer HEAD»

Algoritmos | Recursividad | Pregunta 8

Predecir la salida del siguiente programa #include <stdio.h> int f(int n) {     if(n <= 1)         return 1;     if(n%2 == 0)         return f(n/2);     return f(n/2) + f(n/2+1); }       int main() {     printf(«%d», f(11));     return 0; } (A) Desbordamiento de pila (B) 3 (C) 4 (D) 5 Respuesta: (D) Explicación: En recursiones sucesivas, F(11) se … Continue reading «Algoritmos | Recursividad | Pregunta 8»

Encontrar el diámetro lexicográficamente más pequeño en un árbol binario

Dado un árbol binario donde los valores de los Nodes son alfabetos en minúsculas, la tarea es encontrar el diámetro lexicográficamente más pequeño. El diámetro es el camino más largo entre dos Nodes hoja, por lo tanto, puede haber múltiples diámetros en un árbol binario. La tarea es imprimir el diámetro lexicográficamente más pequeño entre … Continue reading «Encontrar el diámetro lexicográficamente más pequeño en un árbol binario»

Imprime todas las formas posibles de escribir N como suma de dos o más números enteros positivos

Dado un número entero N , la tarea es imprimir todas las formas posibles en las que N se puede escribir como la suma de dos o más números enteros positivos. Ejemplos:   Entrada: N = 4  Salida:  1 1 1 1  1 1 2  1 3  2 2  Entrada: N = 3  Salida:  1 1 … Continue reading «Imprime todas las formas posibles de escribir N como suma de dos o más números enteros positivos»

Algoritmos | Recursividad | Pregunta 3

¿Qué imprime la siguiente función para n = 25? void fun(int n) {   if (n == 0)     return;      printf(«%d», n%2);   fun(n/2); }   (A) 11001 (B) 10011 (C) 11111 (D) 00000 Respuesta: (B) Explicación: la función principalmente imprime la representación binaria en orden inverso. Cuestionario de esta pregunta Publicación traducida automáticamente Artículo escrito por GeeksforGeeks-1 … Continue reading «Algoritmos | Recursividad | Pregunta 3»

Algoritmos | Recursividad | Pregunta 9 – Part 1

#include<stdio.h> void crazy(int n,int a,int b) {     if (n <= 0)  return;     crazy(n-1, a, b+n);     printf(«%d %d %d\n»,n,a,b);     crazy(n-1, b, a+n); }    int main() {     crazy(3,4,5);     return 0; } (A) 1 4 10 2 4 8 1 8 6 3 4 5 1 5 9 2 5 7 1 7 7 (B) 3 4 … Continue reading «Algoritmos | Recursividad | Pregunta 9 – Part 1»