Clasificacion de los algoritmos

Solo disponible en BuenasTareas
  • Páginas : 2 (500 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de diciembre de 2010
Leer documento completo
Vista previa del texto
-------------------------------------------------
Clasificación de los algoritmos
Podemos distinguir dos tipos de algoritmos:
- Deterministas: aquellos en los que en cada iteración se decide deforma única el paso siguiente.
- No deterministas: aquellos en los que en cada iteración podemos decidir entre varias posibilidades y consumirlas todas antes de la siguiente iteración. Como hemos vistoen los puntos anteriores los algoritmos tienen diferentes características entre ellas está la necesidad de utilizar una serie de recursos, como son el tiempo y la memoria. Dichos recursos hay quetenerlos muy en cuenta a la hora de implementar los algoritmos en una máquina determinada. Podemos definir: Tiempo: como el período transcurrido desde el inicio de la ejecución del algoritmo hasta elmomento que finaliza la ejecución. Memoria: como lo que necesita el algoritmo para su ejecución, puede variar la necesidad de la misma según la máquina. Podemos deducir de esto, que las característicasde la máquina influirán notablemente en el diseño del algoritmo. Casi todos los problemas tienen un parámetro de entrada que hace referencia al número de datos que trataremos y que normalmenterepresentamos con el símbolo N. El número de recursos del algoritmo es tratado como una función de N, por lo que podemos establecer el tiempo de ejecución del algoritmo.

• 1: lo que significa que casitodas las instrucciones se ejecutan una sola vez o pocas veces. A este tiempo de ejecución lo conocemos como tiempo de ejecución constante.
• logN: podemos decir que el programa es más lento cuanto máscrece N, pero apenas se aprecia ya que logN se duplica cuando N llega a N2. A este tiempo de ejecución lo denominamos tiempo de ejecución logarítmico.
• N: este tiempo de ejecución es lineal, lo quesignifica que si en un momento N vale 20 la ejecución tardará el doble que si N vale 10.
• N*logN: este tiempo de ejecución es propio de algoritmos como el Quick Sort, o algoritmos del tipo Divide y...
tracking img