













Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Análisis de Algoritmos y Estructuras de Datos, Profesor: Mayte Gracía, Carrera: Ingeniería Informática, Universidad: UCA
Tipo: Apuntes
1 / 21
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!














Tema 1: Órdenes asintóticos
Mª Teresa García Horcajadas José Fidel Argudo Argudo Antonio García Domínguez Francisco Palomo Lozano
Versión 1.
(^1) Introducción
(^2) Orden asintótico O
(^3) Orden asintótico Ω
(^4) Orden asintótico Θ
5 Operaciones asintóticas
Denición Dada una función f : N → R+ 0 , su orden O es el conjunto de las funciones acotadas superiormente, a partir de un cierto umbral, por múltiplos reales y positivos de f.
O(f ) = {t : N → R+ 0 | ∃c ∈ R+^ ∃n 0 ∈ N ∀n > n 0 t(n) 6 cf (n)}
Así, t ∈ O(f ) si, y solo si, ∃c ∈ R+^ ∃n 0 ∈ N ∀n > n 0 t(n) 6 cf (n)
Nota Esta denición es asintótica, ya que solo importa lo que ocurre para valores de n sucientemente grandes. Por lo tanto, se puede relajar cuando n < n 0 y permitir que f tome el valor 0, valores negativos o que incluso no esté denida.
c = 2 n 0 = 20
c = 3 n 0 = 10 c = 5 n 0 = 5
n + 20 n 2 n 3 n 5 n
Ordenación de funciones por órdenes O induce un preorden (^6) O (una relación binaria reexiva y transitiva) sobre N → R+ 0 , denido por:
f (^6) O g ⇐⇒ O(f ) ⊆ O(g )
Este preorden no es total (existen elementos incomparables).
Pertenencia y contención
f ∈ O(g ) ⇐⇒ O(f ) ⊆ O(g ) f ∈ O(g ) ∧ g ∈ O(f ) ⇐⇒ O(f ) = O(g ) f ∈ O(g ) ∧ g ∈/ O(f ) ⇐⇒ O(f ) ⊂ O(g )
Simplicación
O(cf ) = O(f ) (c ∈ R+) O(f + g ) = O(max{f , g })
O
( (^) k ∑
i= 0
ci ni
= O(nk^ ) (ck ∈ R+)
Comparación mediante límites (si existen)
lm f (n) g (n)
= 0 =⇒ O(f ) ⊂ O(g )
lm f (n) g (n) ∈ R+^ =⇒ O(f ) = O(g )
lm
f (n) g (n) = ∞ =⇒ O(g ) ⊂ O(f )
n n log n n^2 / 10 n^3 / 100
n^3 2 n/ 10 3 n/ 100
¾Qué ocurre si se multiplica el tiempo disponible?
Nombre O(f (n)) t = 1 s t = 2 s t = 10 s logarítmico log n n = 100 n = 10000 n = 1020 lineal n n = 100 n = 200 n = 1000 lineal logarítmico n log n n = 100 n = 178 n = 702 o cuasi-lineal cuadrático n^2 n = 100 n = 141 n = 316 cúbico n^3 n = 100 n = 126 n = 215 potencial nk^ n = 100 n = 100 · 21 /k^ n = 100 · 101 /k exponencial 2 n^ n = 100 n = 101 n = 103
¾Qué ocurre si se dobla el tamaño de la entrada?
Nombre O(f (n)) n = 100 n = 200 logarítmico log n 1 s 1,15 s lineal n 1 s 2 s lineal logarítmico o cuasi-lineal n^ log^ n^ 1 s^ 2,30 s cuadrático n^2 1 s 4 s cúbico n^3 1 s 8 s potencial nk^ 1 s 2 k^ s exponencial 2 n^ 1 s 1 , 27 × 1030 s > 4 × 1020 siglos
Dualidad
f ∈ O(g ) ⇐⇒ g ∈ Ω(f ) Permite traspasar las propiedades de O a Ω y viceversa.
Relación entre O y Ω
O(f ) = O(g ) ⇐⇒ Ω(f ) = Ω(g )
Denición Dada una función f : N → R+ 0 , su orden Θ es el conjunto de funciones acotadas (superior e inferiormente), a partir de un cierto umbral, por múltiplos reales y positivos de f.
Θ(f ) = {t : N → R+ 0 | ∃c 1 , c 2 ∈ R+^ ∃n 0 ∈ N ∀n > n 0 c 1 f (n) 6 t(n) 6 c 2 f (n)}
Así, t ∈ Θ(f ) si, y solo si, t ∈ Ω(f ) y t ∈ O(f )
Equivalencia entre órdenes de funciones Θ induce una equivalencia ≡Θ (una relación binaria reexiva, simétrica y transitiva) sobre N → R+ 0 , denida por:
f ≡Θ g ⇐⇒ Θ(f ) = Θ(g )
Propiedades
Θ(f ) = O(f ) ∩ Ω(f ) O(f ) = O(g ) ⇐⇒ Θ(f ) = Θ(g ) Ω(f ) = Ω(g ) ⇐⇒ Θ(f ) = Θ(g )
Las propiedades de O y Ω se traducen de manera sencilla a Θ.
Ejemplos
Θ(cf ) = Θ(f ) Θ(f + g ) = Θ(max{f , g })
lm
f (n) g (n) ∈ R+^ =⇒ Θ(f ) = Θ(g )
Simplemente por aplicación directa de la relación entre O y Θ.
Denición Dados Ξ ∈ {O, Ω, Θ}, f , g : N → R+ 0 y un operador binario ◦, se dene Ξ(f ) ◦ Ξ(g ) como el conjunto de las funciones que se obtienen aplicando ◦ a cada función de Ξ(f ) y de Ξ(g ).
Ξ(f ) ◦ Ξ(g ) = {t : N → R+ 0 | ∃u ∈ Ξ(f ) ∃v ∈ Ξ(g ) ∃n 0 ∈ N ∀n > n 0 t(n) = u(n) ◦ v (n)}
Suma y producto de órdenes
O(f ) + O(g ) = O(f + g ) O(f ) · O(g ) = O(f · g ) Ω(f ) + Ω(g ) = Ω(f + g ) Ω(f ) · Ω(g ) = Ω(f · g ) Θ(f ) + Θ(g ) = Θ(f + g ) Θ(f ) · Θ(g ) = Θ(f · g )