Documente Academic
Documente Profesional
Documente Cultură
S.N.E.S.T.
D.G.E.S.T.
Estructura de Datos.
CATEDRATICO:
Cruz Anel Girn Hernndez Eliana Santos Daz Leslie Velzquez Castillo
TEMA:
3x
H E R O IC A C IU D A D D E JU C H IT A N D E Z A R A G O Z A , O A X A C A , A 0 8 D E S E P T IE M B R E D E L 2 0 1 1 .
I N D I C E.
ANALISIS DE LOS ALGORITMOS.3
COMPLEJIDAD EN EL TIEMPO. 4
COMPLEJIDAD EN EL ESPACIO.. 6
COMPLEJIDAD EN EL TIEMPO.
Todo algoritmo tiene una serie de caractersticas, entre otras que requiere una serie de recursos, algo que es fundamental considerar a la hora de implementarlos en una mquina. Estos recursos son principalmente: El tiempo: perodo transcurrido entre el inicio y la finalizacin del algoritmo. La memoria: la cantidad (la medida vara segn la mquina) que necesita el algoritmo para su ejecucin. Obviamente, la capacidad y el diseo de la mquina pueden afectar al diseo del algoritmo. El tiempo de ejecucin de un programa en funcin de N (numero de datos) se denomina T(N) y se calcula sobre el cdigo contando las instrucciones a ejecutar y multiplicando por el tiempo requerido para cada instruccin.
De esta manera puede establecerse un tiempo de ejecucin del algoritmo que suele ser proporcional a una de las siguientes funciones:
1: Tiempo de ejecucin constante. Significa que la mayora de las instrucciones se ejecutan una vez o muy pocas.
logN : Tiempo de ejecucin logartmico. Se puede considerar como una gran constante. La base del logaritmo (en informtica la ms comn es la base 2) cambia la constante, pero no demasiado. El programa es ms lento cuanto ms crezca N, pero es inapreciable, pues logN no se duplica hasta que N llegue a N2.
N: Tiempo de ejecucin lineal. Un caso en el que N valga 40, tardar el doble que otro en que N valga 20. Un ejemplo sera un algoritmo que lee N nmeros enteros y devuelve la media aritmtica.
NlogN : El tiempo de ejecucin es NlogN. Es comn encontrarlo en algoritmos como Quick Sort y otros del estilo divide y vencers. Si N se duplica, el tiempo de ejecucin es ligeramente mayor del doble.
N2: Tiempo de ejecucin cuadrtico. Suele ser habitual cuando se tratan pares de elementos de datos, como por ejemplo un bucle anidado doble. Si N se duplica, el tiempo de ejecucin aumenta cuatro veces. El peor caso de entrada del algoritmo Quick Sort se ejecuta en este tiempo.
N3: Tiempo de ejecucin cbico. Como ejemplo se puede dar el de un bucle anidado triple. Si N se duplica, el tiempo de ejecucin se multiplica por ocho.
2N: Tiempo de ejecucin exponencial. No suelen ser muy tiles en la prctica por el elevadsimo tiempo de ejecucin. El problema de la mochila resuelto por un algoritmo de fuerza bruta -simple vuelta atrses un ejemplo. Si N se duplica, el tiempo de ejecucin se eleva al cuadrado.
COMPLEJIDAD EN EL ESPACIO.
Es la memoria que utiliza un programa para su ejecucin; es decir el espacio de memoria que ocupan todas las variables propias del algoritmo. Esta se divide en Memoria Esttica y Memoria Dinmica. Memoria esttica. Para calcularla se suma de memoria que ocupan las variables declaradas en el algoritmo. Memoria dinmica. Su clculo no es tan simple ya que depende de cada ejecucin del algoritmo.
Aplicaciones informticas que trabajan en tiempo real: requieren que los clculos se realicen en el menor tiempo posible. Aplicaciones que manejan un gran volumen de informacin: si no se tratan adecuadamente pueden necesitar tiempos impracticables. Espacio: Las mquinas tienen una memoria limitada.