SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Complejidad de un algoritmo.
Análisis de algoritmos.
Autor: Luis Guzmán.
Docente: Pilar Pardo.
26 – Marzo – 2014.
¿Qué es la complejidad
de un algoritmo?
La complejidad de un algoritmo es una métrica que se expresa según el tamaño
del problema, en donde se mide la cantidad de recursos (tiempo – espacio)
que el algoritmo necesite.
En donde si el recurso a considerar es el espacio la complejidad se basa en la cantidad de memoria
requerida para ejecutar, la cual está asociada a las estructuras de datos usadas en su implementación.
La complejidad se basa en la cantidad de tiempo necesario para la ejecución de
operaciones.
Mientras que si el Recurso es tiempo
La resolución de un problema puede obtenerse con muchos
algoritmos. Por tanto, es obvio querer elegir el “mejor”.
Si el problema es sencillo puede elegir el más “fácil”.
Si el problema es complejo o existen muchas soluciones se
tiene que elegir el algoritmo que menos recursos utilice
(tiempo – espacio).
La eficiencia de un algoritmo (lo rápido que se ejecutará)
dependerá del “tamaño” de los datos de entrada.
El peor de los casos indica el mayor tiempo obtenido,
considerando todas las entradas posibles.
El caso promedio indica el tiempo medio obtenido,
considerando todas las entradas posibles.
El mejor de los casos indica el menor tiempo obtenido,
considerando todas las entradas posibles.
Si los datos de entrada son grandes el tiempo de
ejecución será mayor.
Expresado como T(n).
Tiempo de ejecución.
Lo más importante del análisis
de algoritmo es saber cómo
crece el tiempo de ejecución
cuando el tamaño de entrada
crece.
A esto se le denomina eficiencia
asintótica del algoritmo, donde se indica
como crece "t" para los valores que
tienden al infinito, es decir con
comportamiento asintótico.
"Asintótico es analizar el comportamiento de las funciones en base a su tasa de
crecimiento." Para esto se creó la notación Big-0 donde 0 es un valor que puede
tender al infinito.
Existe un conjunto de funciones que poseen un mismo comportamiento, a esto se le
denomina orden de complejidad, el cual está representado por la siguiente tabla
Complejidad Orden
O(1) Constante
0(n2) Cuadrática
0(log n) Logarítmica
0(n) Lineal
0(n log n) Casi-Lineal
0(nb) Polinómica
0(bn) Exponencial
0(n!) Factorial
Complejidad de un algoritmo

Más contenido relacionado

La actualidad más candente

Algorithm And analysis Lecture 03& 04-time complexity.
 Algorithm And analysis Lecture 03& 04-time complexity. Algorithm And analysis Lecture 03& 04-time complexity.
Algorithm And analysis Lecture 03& 04-time complexity.Tariq Khan
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithmsGanesh Solanke
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sorttephyfree
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)Franklin Parrales Bravo
 
คู่มือระบบเครือข่าย
คู่มือระบบเครือข่ายคู่มือระบบเครือข่าย
คู่มือระบบเครือข่ายssrithai
 
KMP Pattern Matching algorithm
KMP Pattern Matching algorithmKMP Pattern Matching algorithm
KMP Pattern Matching algorithmKamal Nayan
 
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Ra'Fat Al-Msie'deen
 
Unit II - 3 - Operating System - Process Synchronization
Unit II - 3 - Operating System - Process SynchronizationUnit II - 3 - Operating System - Process Synchronization
Unit II - 3 - Operating System - Process Synchronizationcscarcas
 
memory allocation by Novodita
memory allocation by Novoditamemory allocation by Novodita
memory allocation by NovoditaSHRISTEERAI1
 
Greedy algorithm activity selection fractional
Greedy algorithm activity selection fractionalGreedy algorithm activity selection fractional
Greedy algorithm activity selection fractionalAmit Kumar Rathi
 
Lec03 04-time complexity
Lec03 04-time complexityLec03 04-time complexity
Lec03 04-time complexityAbbas Ali
 
CONTEXT FREE GRAMMAR
CONTEXT FREE GRAMMAR CONTEXT FREE GRAMMAR
CONTEXT FREE GRAMMAR Zahid Parvez
 

La actualidad más candente (20)

Algorithm And analysis Lecture 03& 04-time complexity.
 Algorithm And analysis Lecture 03& 04-time complexity. Algorithm And analysis Lecture 03& 04-time complexity.
Algorithm And analysis Lecture 03& 04-time complexity.
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithms
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)
 
คู่มือระบบเครือข่าย
คู่มือระบบเครือข่ายคู่มือระบบเครือข่าย
คู่มือระบบเครือข่าย
 
Listas y Pilas
Listas y PilasListas y Pilas
Listas y Pilas
 
Naive string matching
Naive string matchingNaive string matching
Naive string matching
 
Administrador de Tabla de Símbolos
Administrador de Tabla de SímbolosAdministrador de Tabla de Símbolos
Administrador de Tabla de Símbolos
 
KMP Pattern Matching algorithm
KMP Pattern Matching algorithmKMP Pattern Matching algorithm
KMP Pattern Matching algorithm
 
5. Metodos Y Parametros
5.  Metodos Y Parametros5.  Metodos Y Parametros
5. Metodos Y Parametros
 
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"
 
Program ares 7
Program ares 7Program ares 7
Program ares 7
 
Quick sort
Quick sortQuick sort
Quick sort
 
Unit II - 3 - Operating System - Process Synchronization
Unit II - 3 - Operating System - Process SynchronizationUnit II - 3 - Operating System - Process Synchronization
Unit II - 3 - Operating System - Process Synchronization
 
Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
 
memory allocation by Novodita
memory allocation by Novoditamemory allocation by Novodita
memory allocation by Novodita
 
KMP String Matching Algorithm
KMP String Matching AlgorithmKMP String Matching Algorithm
KMP String Matching Algorithm
 
Greedy algorithm activity selection fractional
Greedy algorithm activity selection fractionalGreedy algorithm activity selection fractional
Greedy algorithm activity selection fractional
 
Lec03 04-time complexity
Lec03 04-time complexityLec03 04-time complexity
Lec03 04-time complexity
 
CONTEXT FREE GRAMMAR
CONTEXT FREE GRAMMAR CONTEXT FREE GRAMMAR
CONTEXT FREE GRAMMAR
 

Destacado

Algoritmos complejidad-1
Algoritmos complejidad-1Algoritmos complejidad-1
Algoritmos complejidad-1Jason Daza
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmoszygdiaz
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmoGaston Demundo
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmosPablo Solar
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmosjuanmonsalve001
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmosjuanveg31
 
Complejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosComplejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosSergio Ormeño
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidadrezzaca
 
ejercicios resueltos análisis de algoritmos
ejercicios resueltos   análisis de algoritmosejercicios resueltos   análisis de algoritmos
ejercicios resueltos análisis de algoritmosJojo Jona
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
Analisis y diseño de algoritmos
Analisis y diseño de algoritmosAnalisis y diseño de algoritmos
Analisis y diseño de algoritmosYulyana López
 
complejidad de los algoritmos.
complejidad de los algoritmos.complejidad de los algoritmos.
complejidad de los algoritmos.Juan Navarro
 

Destacado (20)

Algoritmos complejidad-1
Algoritmos complejidad-1Algoritmos complejidad-1
Algoritmos complejidad-1
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmos
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmos
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmos
 
analisis de los algoritmos
analisis de los algoritmosanalisis de los algoritmos
analisis de los algoritmos
 
Complejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosComplejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmos
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
ejercicios resueltos análisis de algoritmos
ejercicios resueltos   análisis de algoritmosejercicios resueltos   análisis de algoritmos
ejercicios resueltos análisis de algoritmos
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Analisis y diseño de algoritmos
Analisis y diseño de algoritmosAnalisis y diseño de algoritmos
Analisis y diseño de algoritmos
 
complejidad de los algoritmos.
complejidad de los algoritmos.complejidad de los algoritmos.
complejidad de los algoritmos.
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmos
 

Similar a Complejidad de un algoritmo

Clasificacion de los problemas (1)
Clasificacion de los problemas (1)Clasificacion de los problemas (1)
Clasificacion de los problemas (1)Patricia Correa
 
Que es la complejidad de un algoritmo
Que es la complejidad de un algoritmoQue es la complejidad de un algoritmo
Que es la complejidad de un algoritmojaviierr24
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmosgmedinaz
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmosSid_Dharkoz
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmospazmoralesv
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmosJonathan Garcia
 
Presentacion para analisis de algoritmo
Presentacion para analisis de algoritmoPresentacion para analisis de algoritmo
Presentacion para analisis de algoritmoSamet A Muñoz M
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacionalrvargass
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacionalrvargass
 
Unidad siete estructura de datos
Unidad siete estructura de datosUnidad siete estructura de datos
Unidad siete estructura de datosRené Sosa Arana
 

Similar a Complejidad de un algoritmo (20)

AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Analisis de algoritmo
Analisis de algoritmoAnalisis de algoritmo
Analisis de algoritmo
 
Clasificacion de los problemas (1)
Clasificacion de los problemas (1)Clasificacion de los problemas (1)
Clasificacion de los problemas (1)
 
Que es la complejidad de un algoritmo
Que es la complejidad de un algoritmoQue es la complejidad de un algoritmo
Que es la complejidad de un algoritmo
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmos
 
Cap2.1
Cap2.1Cap2.1
Cap2.1
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Presentacion para analisis de algoritmo
Presentacion para analisis de algoritmoPresentacion para analisis de algoritmo
Presentacion para analisis de algoritmo
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmos
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Complejidad de algoritmo
Complejidad de algoritmoComplejidad de algoritmo
Complejidad de algoritmo
 
Análisis de algoritmos
Análisis de algoritmosAnálisis de algoritmos
Análisis de algoritmos
 
Unidad siete estructura de datos
Unidad siete estructura de datosUnidad siete estructura de datos
Unidad siete estructura de datos
 

Más de Lutzo Guzmán

Cuadro comparativo tipos de problemas
Cuadro comparativo tipos de problemasCuadro comparativo tipos de problemas
Cuadro comparativo tipos de problemasLutzo Guzmán
 
Cuadro comparativo tipos de problemas
Cuadro comparativo tipos de problemasCuadro comparativo tipos de problemas
Cuadro comparativo tipos de problemasLutzo Guzmán
 
Representación de grafos.
Representación de grafos.Representación de grafos.
Representación de grafos.Lutzo Guzmán
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoLutzo Guzmán
 
Cuadro comparativo torres de hanoi
Cuadro comparativo torres de hanoiCuadro comparativo torres de hanoi
Cuadro comparativo torres de hanoiLutzo Guzmán
 
Cuadro comparativo torres de hanoi
Cuadro comparativo torres de hanoiCuadro comparativo torres de hanoi
Cuadro comparativo torres de hanoiLutzo Guzmán
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoLutzo Guzmán
 
Complejidad de un algoritmo
Complejidad de un algoritmoComplejidad de un algoritmo
Complejidad de un algoritmoLutzo Guzmán
 

Más de Lutzo Guzmán (11)

Cuadro comparativo tipos de problemas
Cuadro comparativo tipos de problemasCuadro comparativo tipos de problemas
Cuadro comparativo tipos de problemas
 
Cuadro comparativo tipos de problemas
Cuadro comparativo tipos de problemasCuadro comparativo tipos de problemas
Cuadro comparativo tipos de problemas
 
Tipos de problemas
Tipos de problemasTipos de problemas
Tipos de problemas
 
Recorrido de grafos
Recorrido de grafosRecorrido de grafos
Recorrido de grafos
 
Representación de grafos.
Representación de grafos.Representación de grafos.
Representación de grafos.
 
Ejemplo grafos
Ejemplo grafosEjemplo grafos
Ejemplo grafos
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
 
Cuadro comparativo torres de hanoi
Cuadro comparativo torres de hanoiCuadro comparativo torres de hanoi
Cuadro comparativo torres de hanoi
 
Cuadro comparativo torres de hanoi
Cuadro comparativo torres de hanoiCuadro comparativo torres de hanoi
Cuadro comparativo torres de hanoi
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Complejidad de un algoritmo
Complejidad de un algoritmoComplejidad de un algoritmo
Complejidad de un algoritmo
 

Complejidad de un algoritmo

  • 1. Complejidad de un algoritmo. Análisis de algoritmos. Autor: Luis Guzmán. Docente: Pilar Pardo. 26 – Marzo – 2014.
  • 2. ¿Qué es la complejidad de un algoritmo?
  • 3. La complejidad de un algoritmo es una métrica que se expresa según el tamaño del problema, en donde se mide la cantidad de recursos (tiempo – espacio) que el algoritmo necesite.
  • 4. En donde si el recurso a considerar es el espacio la complejidad se basa en la cantidad de memoria requerida para ejecutar, la cual está asociada a las estructuras de datos usadas en su implementación.
  • 5.
  • 6. La complejidad se basa en la cantidad de tiempo necesario para la ejecución de operaciones. Mientras que si el Recurso es tiempo
  • 7. La resolución de un problema puede obtenerse con muchos algoritmos. Por tanto, es obvio querer elegir el “mejor”. Si el problema es sencillo puede elegir el más “fácil”. Si el problema es complejo o existen muchas soluciones se tiene que elegir el algoritmo que menos recursos utilice (tiempo – espacio). La eficiencia de un algoritmo (lo rápido que se ejecutará) dependerá del “tamaño” de los datos de entrada.
  • 8. El peor de los casos indica el mayor tiempo obtenido, considerando todas las entradas posibles. El caso promedio indica el tiempo medio obtenido, considerando todas las entradas posibles. El mejor de los casos indica el menor tiempo obtenido, considerando todas las entradas posibles.
  • 9. Si los datos de entrada son grandes el tiempo de ejecución será mayor. Expresado como T(n). Tiempo de ejecución.
  • 10.
  • 11. Lo más importante del análisis de algoritmo es saber cómo crece el tiempo de ejecución cuando el tamaño de entrada crece. A esto se le denomina eficiencia asintótica del algoritmo, donde se indica como crece "t" para los valores que tienden al infinito, es decir con comportamiento asintótico.
  • 12. "Asintótico es analizar el comportamiento de las funciones en base a su tasa de crecimiento." Para esto se creó la notación Big-0 donde 0 es un valor que puede tender al infinito.
  • 13. Existe un conjunto de funciones que poseen un mismo comportamiento, a esto se le denomina orden de complejidad, el cual está representado por la siguiente tabla Complejidad Orden O(1) Constante 0(n2) Cuadrática 0(log n) Logarítmica 0(n) Lineal 0(n log n) Casi-Lineal 0(nb) Polinómica 0(bn) Exponencial 0(n!) Factorial