Search
Home
Saved
4.9K views
0
Sign In
Upload
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
1
Download
Magazines
News
Documents
Sheet Music
Ama.docx
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
INSTITUTO TECNOLÓGICO DE TUXTEPEC ESTRUCTURA DE DATOS
L.I. THOMAS TORRES RAMÍREZ UNIDAD VII ANÁLISIS DE LOS ALGORITMOS
PRESENTA:
OSVALDO APOLINAR GONZALEZ
ING. EN INFORMÁTICA Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
0
Sign In
Upload
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
4.9K views
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
CONTENIDO: Sheet Music
Introducción……………………………………………………………………………….
7. Análisis de los algoritmos …………………………………………………………….
7.1 Complejidad en el tiempo ……………………………………………………
7.2 Complejidad en el espacio …………………………………………………..
7.3 Eficiencia de los algoritmos………………………………………………...1
Conclusión………………………………………………………………………………..1
Bibliografía………………………………………………………………………………..1
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
4.9K views
0
Sign In
Upload
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
INTRODUCCIÓN:
La siguiente investigación esta basada en el tema algoritmos. Entendemos p algoritmo como un conjunto finito de instrucciones no ambiguas y efectivas q indican cómo resolver un problema, producen al menos una salida, reciben cero más entradas y, para ejecutarse, necesitan una cantidad finita de recursos. U instrucción es no ambigua cuando la acción a ejecutar está perfectamen definida. El tema principal de la investigación es el análisis de los algoritmos: estudia complejidad espacial y temporal de los algoritmos.
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
4.9K views
0
Upload
Sign In
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
7. ANÁLISIS DE LOS ALGORITMOS
El análisis de algoritmos es una parte importante de la Teoría de complejid computacional más amplia, que provee estimaciones teóricas para los recurs que necesita cualquier algoritmo que resuelva un problema computacional dad Estas estimaciones resultan ser bastante útiles en la búsqueda de algoritm eficientes.
A la hora de realizar un análisis teórico de algoritmos es común calcular complejidad en un sentido asintótico, es decir, para un tamaño de entrad suficientemente grande. La cota superior asintótica, y las notaciones omega theta se usan con esa finalidad. Por ejemplo, la búsqueda binaria decimos que ejecuta en una cantidad de pasos proporcional a un logaritmo, en O(log(n coloquialmente "en tiempo logarítmico". Normalmente las estimaciones asintótic se utilizan porque diferentes implementaciones del mismo algoritmo no tiene porque tener la misma eficiencia. No obstante la eficiencia de d implementaciones "razonables" cualesquiera de un algoritmo dado est relacionadas por una constante multiplicativa llamada constante oculta. ocu lta.
Tareas en el Análisis de Algoritmos: Algoritmos: - Determinar qué operaciones se emplean y su costo relativo. Sign up to vote on this title Useful lospatrones Not useful posibles d - Determinar conjuntos de datos para exhibir todos comportamiento.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
0
Upload
Sign In
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
4.9K views
Sheet Music
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
por un conjunto de posibilidades. * Algoritmo polinomial. Es un algoritmo de complejidad polinomial o inferior. * Algoritmo No-Polinomial. Es un algoritmo de complejidad exponencial o mayor.
COMPLEJIDAD DE ALGORITMOS Si un conjunto de instrucciones tiene todas las características de un algoritm excepto ser finito en tiempo se le denomina proceso computacional. Los sistem operativos son el mejor ejemplo de proceso computacional, pues están diseñad para ejecutar tareas mientras las haya pendientes, y cuando éstas se terminan, sistema operativo entra en un estado de espera, hasta que llegan más, pero nun termina. La función complejidad, f(n), donde n es el tamaño del problema, da una medi de la cantidad de recursos que un algoritmo necesitará al implantarse y ejecutar en alguna computadora. Puesto que la cantidad de recursos que consume algoritmo crece conforme el tamaño del problema se incrementa, la funció complejidad es monótona creciente (f(n) > f(m) ⇔n > m) con respecto al tamaño del problema. La memoria y el tiemp de procesador son los recursos sobre los cuales se concentra todo el interés en análisis de un algoritmo, así pues distinguiremos dos clases de funció complejidad: a) Función complejidad espacial. Mide la cantidad de memoria que necesitará u Sign up to vote on this title algoritmo para resolver un problema de tamaño n. Useful Not useful b) Función complejidad temporal. Indica la cantidad de tiempo que re- quiere u
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
0
Upload
Sign In
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
4.9K views
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
7.1 COMPLEJIDAD EN EL TIEMPO Sheet Music
El tiempo de Ejecución de un programa se mide en función de N , lo q designaremos como T(N). ◦ Esta función se puede calcular físicamente ejecutando el program acompañados de un reloj, o calcularse directamente sobre el códig contando las instrucciones a ser ejecutadas y multiplicando por el tiemp 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 qu lleva la serie S2.
Habitualmente todos los algoritmos contienen alguna sentencia condicional selectiva, haciendo que las sentencias ejecutadas dependan de la condició lógica, esto hace que aparezca más de un valor para T(N), es por ello q debemos hablar de un rango de valores. Cuando se habla del tiempo de ejecución de un algoritmo debe tenerse presen que el tiempo de ejecución exacto de un programa depende de varios factores: Sign up to vote on this title 1.- Los datos de entrada Useful Not useful 2.- La calidad del condigo generado por el compilador 3.- La maquina donde se ejecuta el programa
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
0
Upload
Sign In
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
4.9K views
Sheet Music
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
define esta en función de los datos de entrada. El estudio sin embargo, depen del tamaño de los datos de entrada, no de los datos concretos. Por ejemp supongamos que se requiere estudiar un algoritmo de ordenación que, dada u lista de numero, devuelva la misma lista ordenada ascendentemente. Así, si quisiera ordenar la lista {2, 1, 3, 1, 5, 8}, se hablaría de una entrada de tamaño n=6. Denotemos, pues T(n) la función del tiempo de ejecución de un algoritmo co entrada de tamaño n. T(n) se expresa sin unidades, ya que el tiempo de ejecució exacto depende de muchos otros factores. T(n) representa el numero operaciones elementales que realiza el algoritmo para obtener la solución. S consideran operaciones elementales las asignaciones, comparacione operaciones aritméticas, etc.
Notación asintótica: Se a descrito la eficiencia de un algoritmo mediante su función de ejecución, T(n Debido a que el tiempo de ejecución exacto depende de factores diversos, cuan se escribe que T(n) es una determinada función f(n), por ejemplo f(n)=n 2 , o f(n)= log (n), debe entenderse únicamente que T(n) es proporcional a f(n). Este concepto de proporcionalidad entre funciones se puede represent formalmente mediante lo que se llama notación asintótica. Esta es la notación qu se utiliza cuando se quiere describir la eficiencia de un algoritmo. Sign up to vote on this title Intuitivamente, la notación asintótica sirve para indicar de crecimien Usefulla velocidad Not useful de la función del tiempo de ejecución de un algoritmo. Se dice que T(n) es O(f(n
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
0
Upload
Sign In
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
4.9K views
Sheet Music
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
Para estimar el tiempo de ejecución, se utiliza la técnica de análisis. Es estimación, se hará en función del numero de operaciones elementales que reali dicho algoritmo para un tamaño de entrada dado. Entendiendo por operacion elementales como aquellas operaciones cuyo tiempo de ejecución se pue acortar superiormente por una constante. Así se consideran como operacion elementales: - Operaciones aritméticas básicas (+. (+. -, *, /,/, %) - Asignaciones variables variables (=) (=) - Comparaciones lógicas o relacionales {&&, l l, <>, >=, =<, ==, !=) - Acceso a estructuras de datos estáticas estáticas y dinámicas - Parámetros que llegan a los métodos - Instrucciones de salto (break, (break, continúe) - Retorno de valores (return) (return) - Referencia a objetos - Instrucciones condicionales - Creación de objetos - Expresiones que con incrementos y decrementos Complejidad Temporal: Parámetro de medición: Se toma el tamaño de la entrada n (descripción de instancia) para medir los requerimientos de tiempoSign deupunto algoritmo. vote on this title El tiempo de ejecución se describe como una función de la entrada T(n) Not useful Useful Ejemplo: T(n)=n2+2n
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
4.9K views
0
Upload
Sign In
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
7.2 COMPLEJIDAD EN EL ESPACIO
La misma idea que se utiliza para medir la complejidad en tiempo de un algoritm se utiliza para medir su complejidad en espacio. espacio . Decir que un programa es O( en espacio significa que sus requerimientos de memoria aument proporcionalmente con el tamaño del problema. Esto es, si el problema se duplic se necesita el doble de memoria. Del mismo modo, para un programa d complejidad O ( N2 ) en espacio, la cantidad de memoria que se necesita pa almacenar los datos crece con el cuadrado del tamaño del problema: si problema se duplica, se requiere cuatro veces más memoria. En general, cálculo de la complejidad en espacio de un algoritmo es un proceso sencillo q se realiza mediante el estudio de las estructuras de datos y su relación con tamaño del problema.
El problema de eficiencia de un programa se puede plantear como un compromi entre el tiempo y el espacio utilizados. En general, al aumentar el espacio utilizad para almacenar la información, se puede conseguir un mejor desempeño, y, ent más compactas sean las estructuras de datos, menos veloces resultan l algoritmos. Lo mismo sucede con el tipo de estructura de datos que utilice programa, puesto que cada una de ellas lleva implícitas unas limitaciones d eficiencia para sus operaciones básicas de administración. Por eso, laetapa d Sign up to vote on this title diseño es tan importante dentro del proceso de construcción deuseful software, ya qu Useful Not va a determinar en muchos aspectos la calidad del producto obtenido.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
0
Upload
Sign In
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
4.9K views
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
7.3 EFICIENCIA DE LOS ALGORITMOS Sheet Music
Con mucha frecuencia se plantea la necesidad de tener que decidir que algoritm se debe utilizar para resolver un determinado problema, de entre un conjunto d algoritmos posibles. Una estrategia para decidir que algoritmos escoger consistir en implementar todos estos algoritmos, ejecutarlos, y escoger el mas eficient Esta aproximación tiene principalmente dos inconvenientes. Por un lado, necesario implementar un conjunto de algoritmos, aunque en realidad solo necesita uno, lo que representa un esfuerzo considerable (generalmen prohibitivo). Por otro lado, el hecho de ejecutar una implementación de u algoritmo en una maquina concreta y por un conjunto de datos de prue específicos, no necesariamente aporta suficiente información para saber como comportara el mismo algoritmo en una maquina diferente o con entrad diferentes. Así pues el objetivo consiste en estudiar las propiedades del algoritm a priori, e implementar solo lo que se considere mejor. La calidad de un algoritm normalmente se mide en función de su eficiencia, pero también hay que valorar coste de escribirlo, entenderlo y modificarlo. 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. Sign up to vote on this title
useful Useful oNotno Encontrar Algoritmos eficientes puede definir si Existe una Solución Problema.
•
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
0
Sign In
Upload
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Magazines
News
Documents Sheet Music
Ama.docx
1
Download
4.9K views
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
Medición de la Eficiencia: La estimación debe ser independiente de la plataforma y la Lenguaje con que codificará pero debe reflejar sus diferencias. - Usamos el Orden de Magnitud (Ogrande) de la Eficiencia del Tiempo y de l recursos. - Se lo complementa con la Tasa de crecimiento del programa para evaluar comportamiento Futuro.
¿Cómo comparar la Eficiencia Real de 2 Algoritmos? - Programándolos, implementándolos y midiendo para el mismo lote de Prueba: tiempo de ejecución y los recursos utilizados. - Suele ser caro, y una vez realizado no suele ser se r sencillo volver atrás y corregir.
Análisis de Rendimiento: Rendimiento: Mediante la complejidad en el Tiempo y en el Espacio Tiempo de Ejecución: dependerá del programa y de su entrada (carga de trabajo - El tiempo medio suele ser mas realista. Para usar todos los tipos de entradas so equiprobables. - El Tiempo Máximo depende de la Carga Máxima: y no siempre se pued establecer con claridad o es estadísticamente variable Sign up to vote on this title
Asíntotas: ◦
Useful
Not useful
El análisis de la eficiencia algorítmica nos lleva a estudiar el comportamiento
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
4.9K views
0
Sign In
Upload
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
es similar cuando los argumentos toman valores muy grandes.
Sheet Music
◦
Una familia de funciones que comparten un mismo comportamiento asintóti será llamada un Orden de Complejidad . Estas familias se designan con log (n)).
◦
Para cada uno de estos conjuntos se suele identificar un miembro f(n) que utiliza como representante de la familia, hablándose del conjunto d funciones g que son del orden de f(n).
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
0
Sign In
Upload
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
4.9K views
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
CONCLUSIÓN: Sheet Music
El análisis de algoritmos es una parte importante de la Teoría de complejida computacional mas amplia, que provee estimaciones teóricas para los recurs que necesita cualquier algoritmo que resuelva un problema computacional dad Estas estimaciones resultan ser bastante útiles en la búsqueda de algoritm eficientes. A la hora de realizar un análisis teórico de algoritmos es convenien calcular su complejidad en su sentido asintótico, es decir, para un tamaño 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 mencion anteriormente la complejidad de tiempo es mas que nada el calculo del tiempo tarda en ejecutarse el algoritmo de igual manera la complejidad de espacio, es memoria que ocupa dicho algoritmo y por ultimo la eficiencia nos ayuda a sab cuales son las medidas adecuadas a tomar para el uso de estos tipos algoritmos de acuerdo al problema a resolver.
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
0
Sign In
Upload
Join
RELATED TITLES
0
Unidad 7 Analisis de Los Algoritmos (OAG)
Uploaded by Osvaldo Apolinar
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
4.9K views
Ama.docx
1
of 14
Fisica GeneralUnidad 7
4.6 Programación de
Search document
BIBLIOGRAFÍA: Sheet Music
Thomas H. Cormen, Charles E. Leiserson, Ronald R. Rivest, & Cliffor Estein. Introducción a Algoritmos, Segunda Edición. MIT Press and McGraw-Hill, 2001. JOYANES AGUILAR, Luis. Fundamentos de Programación, Algoritmos y Estructuras de datos. España, Seg. Edición McGraw-Hill. 1996
JESÚS BISBAL RIERA MANUAL DE ALGORITMOS Recursividad, Complejidad y Diseño d algoritmos Editorial UOC
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join