Algoritmos computacionales

Solo disponible en BuenasTareas
  • Páginas : 9 (2233 palabras )
  • Descarga(s) : 4
  • Publicado : 24 de mayo de 2010
Leer documento completo
Vista previa del texto
ALGORITMOS RECURSIVOS
Un algoritmo recursivo es un algoritmo que expresa la solución de un problema en términos de una llamada a sí mismo. La llamada a sí mismo se conoce como llamada recursiva o recurrente.

FUNCIÓN Factorial(n)
VAR resultado: Entero

SI (n= 2 devolvemos el producto de 'X' por el factorial de 'X'-1
}
El seguimiento de la recursividad programada es casiexactamente igual al ejemplo antes dado, para intentar ayudar a que se entienda mejor se ha acompañado con muchas explicaciones.
X = 3 //Queremos 3!, por lo tanto X inicial es 3
X >= 2 -> return 3*factorial(2);
X = 2 //Ahora estamos solicitando el factorial de 2
X >= 2 -> return 2*factorial(1);
X = 1 // Ahora estamos solicitando el factorial de 1
X < 2 -> return 1;
[Eneste punto tenemos el factorial de 1 por lo que volvemos marcha atrás resolviendo todos los resultados]
return 2 [es decir: return 2*1 = return 2*factorial(1)]
return 6 [es decir: return 3*2 = return 3*factorial(2)*factorial(1)] // El resultado devuelto es 6

Algunos ejemplos de recurrencia:
• Factorial -- n! = n × (n-1)!
• Sucesión de Fibonacci -- f(n) = f(n-1) + f(n-2)
•Números de Catalan -- C(2n, n)/(n+1)
• Las Torres de Hanói
• Función de Ackermann

ALGORITMOS DE ORDENAMIENTO

Ordenamiento es la operación de arreglar los registros de una tabla en algún orden secuencial de acuerdo a un criterio de ordenamiento. El ordenamiento se efectúa con base en el valor de algún campo en un registro.
El propósito principal de un ordenamiento es el defacilitar las búsquedas de los miembros del conjunto ordenado.

Ej. de ordenamientos:
Dir. telefónico, tablas de contenido, bibliotecas y diccionarios, etc.

El ordenar un grupo de datos significa mover los datos o sus referencias para que queden en una secuencia tal que represente un orden, el cual puede ser numérico, alfabético o incluso alfanumérico, ascendente o descendente. Conviene utilizar unmétodo de ordenamiento cuando se requiere hacer una cantidad considerable de búsquedas y es importante el factor tiempo.

Tipos de ordenamientos:

Los 2 tipos de ordenamientos que se pueden realizar son: los internos y los externos.

Los internos: Son aquellos en los que los valores a ordenar están en memoria principal, por lo que se asume que el tiempo que se requiere para acceder cualquierelemento sea el mismo (a[1], a[500], etc.).

Los externos: Son aquellos en los que los valores a ordenar están en memoria secundaria (disco, cinta, cilindro magnético, etc.), por lo que se asume que el tiempo que se requiere para acceder a cualquier elemento depende de la última posición accesada (posición 1, posición 500, etc.).

En computación y matemáticas un algoritmo de ordenamiento esun algoritmo que pone elementos de una lista o un vector en una secuencia dada por una relación de orden, es decir, el resultado de salida ha de ser una permutación —o reordenamiento— de la entrada que satisfaga la relación de orden dada. Las relaciones de orden más usadas son el orden numérico y el orden lexicográfico. Ordenamientos eficientes son importantes para optimizar el uso de otrosalgoritmos (como los de búsqueda y fusión) que requieren listas ordenadas para una ejecución rápida. También es útil para poner datos en forma canónica y para generar resultados legibles por humanos.

Desde los comienzos de la computación, el problema del ordenamiento ha atraído gran cantidad de investigación, tal vez debido a la complejidad de resolverlo eficientemente a pesar de su planteamientosimple y familiar. Por ejemplo, BubbleSort fue analizado desde 1956.[1] Aunque muchos puedan considerarlo un problema resuelto, nuevos y útiles algoritmos de ordenamiento se siguen inventado hasta el día de hoy (por ejemplo, el ordenamiento de biblioteca se publicó por primera vez en el 2004). Los algoritmos de ordenamiento son comunes en las clases introductorias a la computación, donde la...
tracking img