Documentos de Académico
Documentos de Profesional
Documentos de Cultura
i 1
xipi C
j=-1
-
-
-
-
-
-
j=0
0
0
0
0
0
0
j=1
0
1
1
1
1
1
j=2
0
1
6
6
6
6
j=3
0
1
7
7
7
7
j=4
0
1
7
7
7
7
j=5
0
1
7
18
18
18
j=6
0
1
7
19
22
22
j=7
0
1
7
24
24
28
j=8
0
1
7
25
28
29
j=9
0
1
7
25
29
34
j=10
0
1
7
25
29
35
j=11
0
1
7
25
40
40
Ejemplo: A1
A2
A3
A4
A10x20 A20x50 A50x1 A1x100
Utilizaremos un truco: iremos por diagonales
1
3
o
4
2
4
o
o
o
o
10000
10000
1000
0
5000
0
10000
1200
2200
1000
3000
5000
0
2
1
0
3
o
4
2
0
4
o
o
6
5
3
o
o
o
Lo hace as:
Que obviamente se llena de abajo hacia arriba (en el clsico estilo bottom-up, eficiente y
progresivo de la programacin dinmica).
D(vintner, writers) = 5
( i Eliminaciones )
( j Inserciones )
i=1
i=2
i=3
i=4
i=5
i=6
s
u
r
v
e
y
j=1
0
1
2
3
4
5
6
j=2
s
1
0
1
2
3
4
5
j=3
u
2
1
0
1
2
3
4
j=4
r
3
2
1
0
1
2
3
j=5
g
4
3
2
1
1
2
3
e
5
4
3
2
2
1
2
j=6
r
6
5
4
3
4
2
2
j=7
Y
7
6
5
4
4
3
2
Ejemplo:
A
L
10
1
40
2
20
2
50
3
30
3
70
4
60
4
80
5
9
1
LIS n log n
En la solucin con programacin dinmica, al asignar el valor L(i) se recorre el
vector A desde la posicin 1 hasta la posicin i-1.
Por ello, dicha solucin es de complejidad O(n2).
Hay otro modo de hacerlo. Sea
A
81
92
94
82
83
85
84
99
98
100
2
2 5
81 82
81 82 83
81 82 83 84
2
2 4
2 5
81 82 83
81 82 83 84
2
2 3
2 4
81 82 83
81 82 83 84
2
2 3
2 3 6
81 82 83
81 82 83 84
2
2 3
2 3 6
81 82 83 84
81 82 83 84 99
2
2 3
2 3 6
81 82 83 84
81 82 83 84 98
81 82 83 84 99
2
2 3
2 3 6
81 82 83 84
81 82 83 84 98
81 82 83 84 98 100
Ahora recorra otra vez estos conjuntos de posibles inicios, y vea el end de cada
posible inicio.
Note que estn en orden creciente. Y que al sustituir un posible inicio por otro de
igual longitud pero con un menor end, este menor final es el A(i) que hemos
pasado a considerar y como los finales estn en orden creciente podemos buscar
su posicin mediante bsqueda binaria.
Mejor an, tendremos en un vector B, slo los posibles finales.
Ejemplo:
A
81
92
94
82
83
85
84
99
98
100
Al considerar A(1)=81
B
81
81
92
81
92
94
81
82
94
81
82
83
84
98
100
Que coincide con los finales del ltimo conjunto de posibles inicios de arriba.
En realidad, B conicide con los finales de cada conjunto de posibles inicios
mientras se va contruyendo.
La longitud de B es la LIS buscada.
Pero los valores de B no corresponden con la LIS. Hay que hallar otro medio para
reconstruirla.
Puede hacerse con la ayuda de un tercer vector R, de la misma dimensin que A,
el cual incluir la posicin donde A(i) se inserta en B.
81
92
94
82
83
85
84
99
98
100
...
...
Al considerar A(1)=81
B
81
...
...
...
...
...
81
92
..
...
...
...
...
...
...
81
92
94
...
...
...
...
...
...
81
82
94
...
...
...
...
...
81
82
83
...
...
...
...
84
98
100