Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejercicios de Algoritmos
Algoritmos de Búsqueda
Búsqueda Binaria
Arreglo Inicial
0 1 2 3 4 5 6 7 8 9 10 11
1 3 5 7 9 11 13 15 17 19 21 23
0 1 2 3 4 5 6 7 8 9 10 11
1 3 5 7 9 11 13 15 17 19 21 23
min = 9 max = 11
centro = 10
0 1 2 3 4 5 6 7 8 9 10 11
1 3 5 7 9 11 13 15 17 19 21 23
min=centro=max
Búsqueda Lineal
0 1 2 3 4 5
57 53 21 37 17 36
57 = 44 X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
57 53 21 37 17 36 22 3 44 97 89 26 31 47 8 17
53 = 44 X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
57 53 21 37 17 36 22 3 44 97 89 26 31 47 8 17
21 = 44 X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
57 53 21 37 17 36 22 3 44 97 89 26 31 47 8 17
37= 44 X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
57 53 21 37 17 36 22 3 44 97 89 26 31 47 8 17
17= 44 X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
57 53 21 37 17 36 22 3 44 97 89 26 31 47 8 17
36= 44 X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
57 53 21 37 17 36 22 3 44 97 89 26 31 47 8 17
22= 44 X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
57 53 21 37 17 36 22 3 44 97 89 26 31 47 8 17
3= 44 X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
57 53 21 37 17 36 22 3 44 97 89 26 31 47 8 17
44= 44
1ra pasada
2da pasada
10 7 15 6 17 18
3ra pasada
7 10 6 15 17 18
4ta pasada
Ordenación Selección: Intercambiar el primer elemento con el menor elemento, así hasta que
el arreglo se ordene
10 18 7 15 6 17 10 intercambio por 6
6 18 7 15 10 17 18 intercambio 7
6 7 18 15 10 17 18 intercambio 10
6 7 10 15 18 17 No intercambio nada
6 7 10 15 18 17 18 intercambio 17
6 7 10 15 17 18 Arreglo Ordenado
6 7 10 15 17 18 Arreglo ordenado
ALGORITMOS DE ORDENAMIENTO DE CASO PROMEDIO O PEOR CASO O (N LOG N)
Mergesort: Dividir/Ordenar/Mezclar
Arreglo Original
Dividir
Dividir
Dividir
Mezclar
Mezclar
Arreglo Ordenado
QuickSort:
9 7 5 11 12 2 14 3 10 6 9>6 y 10>6, movemos j
i j
3 2 5 6 12 7 14 9 10 11 Arreglo parcial
2da pasada
3 5 2
3ra pasada
4ta pasada
2 3 5 6 7 10 9 11 12 14 Arreglo Ordenado
HeapSort:
Paso 1:
Heapsort
0 1 2 3 4 5 6 7 8 9 10
16 14 10 8 7 9 3 2 4 1
16
14
10
8 7 9 3
2 4 1
0 1 2 3 4 5 6 7 8 9 10
16 14 10 8 7 9 3 2 4 1
0 1 2 3 4 5 6 7 8 9 10
1 14 10 8 7 9 3 2 4 16
0 1 2 3 4 5 6 7 8 9 10
14 1 10 8 7 9 3 2 4 16
0 1 2 3 4 5 6 7 8 9 10
4 1 10 8 7 9 3 2 14 16
0 1 2 3 4 5 6 7 8 9 10
10 1 4 8 7 9 3 2 14 16
0 1 2 3 4 5 6 7 8 9 10
2 1 4 8 7 9 3 10 14 16
0 1 2 3 4 5 6 7 8 9 10
9 1 4 8 7 2 3 10 14 16
0 1 2 3 4 5 6 7 8 9 10
3 1 4 8 7 2 9 10 14 16
0 1 2 3 4 5 6 7 8 9 10
8 1 4 3 7 2 9 10 14 16
0 1 2 3 4 5 6 7 8 9 10
2 1 4 3 7 8 9 10 14 16
0 1 2 3 4 5 6 7 8 9 10
4 1 2 3 7 8 9 10 14 16
0 1 2 3 4 5 6 7 8 9 10
3 1 2 4 7 8 9 10 14 16
0 1 2 3 4 5 6 7 8 9 10
2 1 3 4 7 8 9 10 14 16
0 1 2 3 4 5 6 7 8 9 10
1 2 3 4 7 8 9 10 14 16
Extracción Prefijos y sufijos
GATGACTAGT
Substrings
G 0
GA 0
GAT 0
GATG 1 [G]
GATGA 2 [GA]
GATGAC 0
GATGACT 0
GATGACTA 0
GATGACTAG 1 [G]
GATGACTAG 0
T
b [0] = 0
b [1] = -1
b [2] = 0
b [3] = 0
b [4] = 0
b [5] = 1
b [6] = 2
b [7] = 0
b [8] = 0
b [9] = 0
b [10] = 1
b [11] = 0
P: G A T G A C T A G T
P[i]: 0 1 2 3 4 5 6 7 8 9
b[i]: - 0 0 0 1 2 0 0 0 1 0
1
I: G A T G A C
P[] 0 1 2 3 4 5
:
Fai -1 0 0 0 1 2
l
Paso 1: Falla en la posición 0, fail (0) = -1, por lo que el salto estaría dado por: (0) -(-1) =1
C T A A A G A T G A T C T T T A G T C C C G G T T C G A A
G A T G A C T A G T
Paso 2: Falla en la posición 0, fail (1) = 0, por lo que el salto estaría dado por: (0) -(-0) =0
C T A A A G A T G A T C T T T A G T C C C G G T T C G A A
G A T G A C T A G T
C T A A A G A T G A T C T T T A G T C C C G G T T C G A A
G A T G A C T A G T
C T A A A G A T G A T C T T T A G T C C C G G T T C G A A
G A T G A C T A G T
C T A A A G A T G A T C T T T A G T C C C G G T T C G A A
G A T G A C T A G T
C T A A A G A T G A T C T T T A G T C C C G G T T C G A A
G A T G A C T A G T
C T A A A G A T G A T C T T T A G T C C C G G T T C G A A
G A T G A C T A G T
C T A A A G A T G A T C T T T A G T C C C G G T T C G A A
G A T G A C T A G T
C T A A A G A T G A T C T T T A G T C C C G G T T C G A A
G A T G A C T A G T