En teoría de la computación, la función de Ackermann es una función recursiva que toma dos números naturales como argumentos y devuelve un único número natural. Como norma general se define como sigue:
cuando se hace de manera iterativa existe el inconveniente de que los valores de m y n crecen rapidamente y por consecuencia no existe una variable que pueda almacenar semejantes valores.
una posible solucion es crear un "artificio" para poder escalar los resultados a valores inferiores usando algun tipo de notacion a la convencional. o algo asi como la representaciond de un numero en notacion cientifica.
Es algo muy frecuente, cuando ya dominas todo eso de pedir y almacenar datos, ahora tu profesor te pedirá que tus programas generen números aleatorios para automatizar el proceso de llenar arreglos y todo eso. Así que lo primero que tenemos que hacer es incluir la librería: #include<stdlib.h> Necesitamos esta libreria para usar la función time() #include<time.h> Luego inicializar los números aleatorios incluyendo esto: srand(time(NULL)); Luego guardar el número aleatorio en alguna parte: num = rand(); Para ajustar el rango de número aleatorios podemos hacer varias cosas. - Número aleatorios entre 0 y 50: num=rand()%51; - Número aleatorios entre 1 y 100: num=1+rand()%(101-1); - Número aleatorios entre 250 y 420: num=250+rand()%(421-250); De forma general es: variable = limite_inferior + rand() % (limite_superior +1 - limite_inferior) ; Así que un programa que muestre 10 números aleatorios entre 1 y 10 quedaría así:
Hola a todos en esta ocasión compartiré sobre este tema de Arboles Binarios de Búsqueda, como un poco de teoría para su mejor entendimiento seguidamente mostraré la implementación en lenguaje de programación C++. Primero una breve introducción a árboles. ¿Qué es un árbol? Un árbol es una estructura de datos no lineal puesto que cada elemento apunta a uno o varios elementos del mismo tipo; esto es dado un elemento, no hay un único camino a seguir. El elemento que apunta a otro es llamado padre, mientras que el elemento apuntado se conoce como hijo. Todos los elementos tienen un padre a excepción de la raíz. Puede decirse que un árbol esta formado por subárboles resaltando así su naturaleza recursiva . ¿Qué es un árbol binario? Un árbol binario es aquel es el que cada elemento apunta como máximo a otros 2 elementos, comúnmente llamados hijo izquierdo y hijo derecho. ¿Qué es un árbol binario de búsqueda? Un árbol binario de buque da o ABB, es un árbol bi
Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el área de informática debido a su simplicidad y ordenación implícita de la propia estructura. Para el manejo de los datos se cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado. Por analogía con objetos cotidianos, una operación apilar equivaldría a colocar un plato sobre una pila de platos, y una operación retirar a retirarlo. Implementación:
Gracias, lo necesitaba !!
ResponderEliminarcuando se hace de manera iterativa existe el inconveniente de que los valores de m y n crecen rapidamente y por consecuencia no existe una variable que pueda almacenar semejantes valores.
ResponderEliminaruna posible solucion es crear un "artificio" para poder escalar los resultados a valores inferiores usando algun tipo de notacion a la convencional. o algo asi como la representaciond de un numero en notacion cientifica.
Gracias viejo, me sirvió para la U!
ResponderEliminarCual seria la soluccion en forma iterativa
ResponderEliminar