FORMULA DEL PROMEDIO DEL TIEMPO DE EJECUCION PARA EL INSERTION SORT CUANDO POSEE PERMUTACIONES UNIFORMES AL AZAR CON REPETICION
Se tiene que el orden del algoritmo de Insertion-Sort en el caso promedio es de Q(n2), entonces podemos aplicar algún método de aproximación Polinomial ó regresión numérica teniendo en cuenta los datos que nos arroja el correspondiente Applet (para permutaciones con repetición) , y así poder hallar la ecuación del tiempo promedio de este algoritmo. Ya que el algoritmo es Q (n2), utilizo aproximación polinomial a la ecuación de la parábola de mínimos cuadrados:
![]()
x
+bx+c, en donde para hallar los valores de a,b y c, debo solucionar el siguiente sistema de ecuaciones :
(
) A + (
) B + (
) C =
(
) A + (
) B + (
) C =
(
) A + (
) B + n *C =
X: Vector con la lista de las abscisas.
Y: Vector con la lista de ordenadas.
n: número de muestras.
Se tienen los siguientes datos (del Applet):
tp (1) = 1
tp(2) = 6.75
tp (3) = 14
tp (4) = 22.75
tp (5) = 33
tp(6) = 44.75
tp (7) = 58
tp(8) = 72.75
x = [1 2 3 4 5 6 7 8 ];
y = [1 6.75 14 22.75 33 44.75 58 72.75 ] ;
n=8
Procedemos a construir el sistema de ecuaciones desarrollando las sumatorias:
= 8772
= 10452
= 1296
= 1569
= 204
= 253
= 36
el sistema de ecuaciones queda de la siguiente forma:
(8772) A + (1296) B + (204) C = 10452
(1296) A + (204) B + (36) C = 1569
(204) A + (36) B + (8) C = 253
Aplicando algún método para la solución de sistemas de ecuaciones o con la ayuda de algún programa matemático como Matlab (como lo es en este caso), se puede llegar a una rápida solución:
mat_inversa = inv ( [ 8772, 1296, 204;
1296, 204, 36;
204, 36, 8; ])
mat_inversa * [10452; 1569; 253]
Que arroja el siguiente resultado como solución del sistema:
A = 0.7500 = 3/4
B = 3.5000 = 7/2
C = -3.2500 = -13/4
La ecuación final ó fórmula para el promedio de pasos en el algoritmo de Insertion-Sort con repetición es:
tp(x) = (3/4) X
+ (7/2) X - (13/4)