INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE CARRILLO PUERTO. 
Carpeta de evidencia. 
Unidad 7: Análisis de los algoritmos. 
A...
INTRODUCCIÓN 
La siguiente investigación esta basada en el tema algoritmos. Entendemos por algoritmo como un conjunto fini...
7.1 COMPLEJIDAD DEL TIEMPO 
El tiempo de Ejecución de un programa se mide en función de 
N , lo que designaremos como 
T(N...
7.2 COMPLEJIDAD EN EL ESPACIO 
La misma idea que se utiliza para medir la complejidad en tiempo de un algoritmo se utiliz...
7.3 EFICIENCIA DE LOS ALGORITMOS 
La Eficiencia nos la da el Análisis de Algoritmos: 
Dimensión Temporal: Medida del tiemp...
CONCLUSIÓN 
El análisis de algoritmos es una parte importante de la Teoría de complejidad computacional mas amplia, que p...
Próxima SlideShare
Cargando en…5
×

Unidad 7 diana karina pech may

220 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
220
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
3
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Unidad 7 diana karina pech may

  1. 1. INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE CARRILLO PUERTO. Carpeta de evidencia. Unidad 7: Análisis de los algoritmos. Alumna: Diana Karina Pech May. Materia: Estructura de datos. Docente: Niels Henryk Aranda cuevas. 3° semestre Grupo: «B» Ing. sistemas computacionales.
  2. 2. INTRODUCCIÓN La siguiente investigación esta basada en el tema algoritmos. Entendemos por algoritmo como un conjunto finito de instrucciones no ambiguas y efectivas que indican cómo resolver un problema, producen al menos una salida, reciben cero o más entradas y, para ejecutarse, necesitan una cantidad finita de recursos. Una instrucción es no ambigua cuando la acción a ejecutar está perfectamente definida. El tema principal de la investigación es el análisis de los algoritmos: estudia la complejidad espacial y temporal de los algoritmos.
  3. 3. 7.1 COMPLEJIDAD DEL TIEMPO El tiempo de Ejecución de un programa se mide en función de N , lo que designaremos como T(N). Esta función se puede calcular físicamente ejecutando el programa acompañados de un reloj, o calcularse directamente sobre el código, contando las instrucciones a ser ejecutadas y multiplicando por el tiempo requerido por cada instrucción. Así, un sencillo código como:S1;for(x = 0; x < N; x++)S2;Demanda: T(N) = t1 + t2 * N Donde t1 es el tiempo que lleva ejecutar la serie S1 de sentencias, y t2 es el que lleva la serie S2.Habitualmente todos los algoritmos contienen alguna sentencia condicional o selectiva, haciendo que las sentencias ejecutadas dependan de la condición lógica, esto hace que aparezca más de un valor para T(N), es por ello que debemos hablar de un rango de valores. Cuando se habla del tiempo de ejecución de un algoritmo debe tenerse presente que el tiempo de ejecución exacto de un programa depende de varios factores:1.- Los datos de entrada2.- La calidad del condigo generado por el compilador3.- La maquina donde se ejecuta el programa4.- La complejidad del tiempo del algoritmo base del programa. En el momento de diseñar y elegir entre posibles alternativas, sin embargo, los tres primero factores generalmente o no se conocían o nos vienen dados. Por lo tanto, el estudio de un algoritmo se centra en su complejidad de tiempo de ejecución. Mejorar su eficiencia generalmente implica reducir su complejidad de tiempo de ejecución
  4. 4. 7.2 COMPLEJIDAD EN EL ESPACIO La misma idea que se utiliza para medir la complejidad en tiempo de un algoritmo se utiliza para medir su complejidad en espacio. Decir que un programa es O(N)en espacio significa que sus requerimientos de memoria aumentan proporcionalmente con el tamaño del problema. Esto es, si el problema se duplica, se necesita el doble de memoria. Del mismo modo, para un programa de complejidad O ( N2 ) en espacio, la cantidad de memoria que se necesita para almacenar los datos crece con el cuadrado del tamaño del problema: si el problema se duplica, se requiere cuatro veces más memoria. En general, el cálculo de la complejidad en espacio de un algoritmo es un proceso sencillo que se realiza mediante el estudio de las estructuras de datos y su relación con el tamaño del problema.
  5. 5. 7.3 EFICIENCIA DE LOS ALGORITMOS La Eficiencia nos la da el Análisis de Algoritmos: Dimensión Temporal: Medida del tiempo empleado. Dimensión Espacial: medida de los recursos invertidos. Encontrar Algoritmos eficientes puede definir si Existe o no una Solución al Problema. Al Análisis de Algoritmos se centra en el estudio de los Bucles, del cual en última instancia, dependerán las instrucciones a ser ejecutadas. No se puede realizar un análisis del número de Instrucciones pues son dependientes de las tecnologías (RISK, CISC).Eficiencia = F(n)Siendo n la cantidad de elementos a ser procesados
  6. 6. CONCLUSIÓN El análisis de algoritmos es una parte importante de la Teoría de complejidad computacional mas amplia, que provee estimaciones teóricas para los recursos que necesita cualquier algoritmo que resuelva un problema computacional dado. Estas estimaciones resultan ser bastante útiles en la búsqueda de algoritmos eficientes. A la hora de realizar un análisis teórico de algoritmos es conveniente calcular su complejidad en su sentido asintótico, es decir, para un tamaño de entrada suficientemente grande. Lo esencial de la investigación era hacer hincapié en la complejidad en el tiempo espacio, así como la eficiencia de los algoritmos. Como ya se menciono anteriormente la complejidad de tiempo es mas que nada el calculo del tiempo que tarda en ejecutarse el algoritmo de igual manera la complejidad de espacio, es la memoria que ocupa dicho algoritmo y por ultimo la eficiencia nos ayuda a saber cuales son las medidas adecuadas a tomar para el uso de estos tipos de algoritmos de acuerdo al problema a resolver.

×