Está en la página 1de 11

Búsqueda Lineal (Secuencial)

Ing. José Luis Peralta Luján


Búsqueda Lineal (Secuencial)

mayor  T [ 1 ] 2 OE
i2 1 OE
mientras ( i ≤ n ) hacer 1 OE
si ( T [ i ] > mayor ) entonces 2 OE
mayor  T [ i ] 2 OE
fin_si
ii+1 2 OE
fin_mientras

Ing. José Luis Peralta Luján


Búsqueda Lineal (Secuencial)

mayor  T [ 1 ] 2 OE
i2 1 OE
mientras ( i ≤ n ) hacer 1 OE
si ( T [ i ] > mayor ) entonces 2 OE
mayor  T [ i ] 2 OE
fin_si
ii+1 2 OE
fin_mientras

Ing. José Luis Peralta Luján


Calcular la complejidad del siguiente
algoritmo iterativo

funcion( int n)
{
int i, j, k, x;
x=0;
para i=1 hasta n-1 hacer
para j=i+1 hasta n hacer
para k=1 hasta j hacer
x=x+1
fin_para
fin_para
fin_para
}

Ing. José Luis Peralta Luján


El bucle mas interno repite j veces una instrucción de tiempo O(1)
j
∑1 o sea la instrucción simple x=x+1 se realiza j veces.
k=1 funcion( int n){
int i, j, k, x;
x=0;
para i=1 hasta n-1 hacer
para j=i+1 hasta n hacer
para k=1 hasta j hacer
x=x+1
fin_para
fin_para
fin_para
}

Ing. José Luis Peralta Luján


El bucle mas interno repite j veces una instrucción de tiempo O(1)
j
∑1 o sea la instrucción simple x=x+1 se realiza j veces.
k=1
funcion( int n){
El segundo bucle mas interno: int i, j, k, x;
x=0;
n n i para i=1 hasta n-1 hacer
para j=i+1 hasta n hacer
∑j = ∑j - ∑j para k=1 hasta j hacer
j=i+1 j=1 j=1 x=x+1
n fin_para
∑ j = n (n+1)/2 – i (i+1)/2 fin_para
j=i+1 fin_para
u 1 }

u m+1 m 1

Ing. José Luis Peralta Luján


El bucle mas interno repite j veces una instrucción de tiempo O(1)
j
∑1 o sea la instrucción simple x=x+1 se realiza j veces.
k=1
funcion( int n){
El segundo bucle mas interno: int i, j, k, x;
n x=0;
para i=1 hasta n-1 hacer
∑ j = n (n+1)/2 – i (i+1)/2 para j=i+1 hasta n hacer
j=i+1 para k=1 hasta j hacer
x=x+1
El tercer bucle (el externo) tenemos:
fin_para
n-1 n-1 n-1 fin_para
∑ [ n (n+1)/2 – i (i+1)/2 ] = ∑ n (n+1)/2 – ∑ i (i+1)/2 fin_para
i=1 i=1 i=1 }
n-1
= (n-1) n (n+1) / 2 - 1/2 ∑ (i2+i)
i=1

n-1 n-1
= (n-1) n (n+1) / 2 - 1/2 [ ∑ i2 + ∑i ]
i=1 i=1
= (n-1) n (n+1) / 2 - 1/2. (n-1)(n)(2n-1)/6 – 1/2.(n-1)n/2
= n(n2-1)/3
≡ O(n
Ing. José Luis Peralta Luján
3)
Calcular la complejidad del siguiente
algoritmo iterativo

funcion( int n){


int i, j, k, x;
x=0;
para i=1 hasta n-2 hacer
para j=i+2 hasta n hacer
para k=1 hasta j hacer
x=x+k
fin_para
fin_para
fin_para
}

Ing. José Luis Peralta Luján


• Ordenamiento Burbuja

Ing. José Luis Peralta Luján


• Ordenamiento por Selección

Ing. José Luis Peralta Luján


• Ordenamiento por Insercíón

Ing. José Luis Peralta Luján

También podría gustarte