Академический Документы
Профессиональный Документы
Культура Документы
Computacional
Introduccin
Por qu requerimos del anlisis de
algoritmo?
- Estimar el tiempo de ejecucin
- Estimar la memoria que utilizar
del bus.
Compilador, interprete, depurador, recolector
de basura, etc.
La red, el sistema operativo, etc.
Ejemplo:
Notacin Asinttica
Para cualquier polinomio la tendencia de crecimiento esta dada
por el termino de mayor exponente. La Notacin asinttica ,
equivale al termino de mayor exponente.
Notacin Asinttica
Programa
Complejidad de un algoritmo
Determina la cantidad de trabajo
(operaciones) que realiza un algoritmo.
En otras palabra determina la eficiencia del
algoritmo
Se nombra en base a la notacin asinttica.
7
Grfica de cuotas
para nuestro
seudocdigo:
T(n) =tiempo que tarda el algoritmo
n *(10n + 3n) = 10+3=13
Agregamos lectura e
inicializaciones
=13
=p Sustituyendo variables
Note que :
q
Por tanto:
T(n)= p<= p
=(p+q+r)
Cambio de variable
C=p+q+r
7n = lectura de la entrada,
21=inicializaciones
Por tanto
T(n)= p<= c()
10
Cuota Inferior
T(n)
(n)
T(n) es (f(n)
Para una n muy grande.
T(n) es (f(n)) si existe una constate C>0 y n>=0 para
toda n >
donde t(n)> =c*f(n).
En nuestro ejemplo decimos que : T(n)= p= ()
Vea que:
11
Ejemplos
Funcin
de
crecimien
to
Ejemplo de algoritmo
Frmula
log
Bsqueda Binaria
N x log N
Merge sort
Cuadrtica
Cbica
12
Complejidad logartmica
Respuest
a
64
es mayor
96
es menor
80
es menor
72
es mayor
76
es menor
74
es mayor
75
eureka
Elimino
75
128
Log n.- significa a que potencia se eleva la base para que nos de n (base 2)
13
Complejidad N
Queremos fusionar 2 arreglos a y b
ordenados en un tercer arreglo ordenado.
.
Nueva lista
1 1
0
1 1
0 2
1 15
2
1 20
4
1
0
1
1
1 1
1 2
1
2
1
1
1
2
10 11 12
9 1
0
7 8
1
0
5 6
7
Complejidad
cuadrtica
Complejidad
cbica
Complejidad Exponencial
Dado
5
NT
T
T
0
NT
NT
NT
8
5
6
3
5
NT
T
NT
2
3
0
T=Tomo, lo
considero para
suma.
NT= No lo
tomo , no lo
considero para
suma.
N*N*N
Cubica
Exp.
10
10
30
100
1,000
1,024
100
100
700
10,000
1,000,000
grande
1,000,000,000
grande
1,000
1 10 1,000
10,000
1,000,000
10,00
Log
N
significa
a que valor hay que elevar la
10,000 1 13
0 130,000 100,000,000 1,000,000,000,000 grande
base para obtener el valor N.
grande
19
Ejemplos resueltos
Ejemplo 1
Se tiene una lista de N nmeros y sobre
Solucin
Se hace un pre clculo
4
10
13
15
Ejemplo de tazas
Se tiene una escalera de n escalones y tiene una
cantidad k de tazas y se quiere saber cual es el
escaln ms alto en el que puedo soltar la taza sin
que se rompa.
Por ejemplo si tuviera solo una taza, tendra que
soltarla a partir del primer escaln y mientras no se
rompa ir subiendo de escaln al momento de
romperse, me fijo en el escaln anterior y esa es la
respuesta.
A)Encuentre un algoritmo eficiente para 2 jarras
23
Dos Tazas
la taza
Hay raz(n)
intervalos.
La
complejidad
asinttica es
raz(n)
Por tanto
cada
intervalo
24
Fin
25