Está en la página 1de 53
Planteamiento del Problema En esta practica nuestro objetivo es el realizar un andlisis de algoritmos a posteriori de los algoritmos de ordenamiento mas conocidos en la computacién y realizar una aproximacién a sus funciones de complejidad temporal, que describe Ia cantidad de tiempo que lleva ejecutar un algoritmo, se estima comtnmente contando el numero de operaciones elementales realizadas por el algoritmo, suponiendo que cada operacién elemental requiere una cantidad fija de tiempo. Con base a un archivo proporcionado por nuestro profesor Edgardo Adrian Franco Martinez, que contiene hasta 10,000,000 de numeros diferentes; ordenar las n's indicadas bajo los siguientes algoritmos de ordenamiento y comparar experimentalmente las complejidades. De cada uno de los algoritmos se deberd obtener la medicién del tiempo real, tiempo CPU, tiempo E/S y %CPU/Wall para posteriormente hacer una comparacién grafica de cada una haciendo uso de sus respectivas mediciones Estas pruebas de ordenamiento se realizaran con los siguientes valores: 100, 1000, 5000, 10000, 50000, 100000, 200000, 400000, 600000, 800000, 1000000, 2000000, 3000000, 4000000, 5000000, 6000000,7000000, 8000000, 9000000, 10000000. Algoritmos Burbuja (Bubble Sort) * Burbuja Simple Esta funciona revisando cada elemento de Ia lista que va a ser ordenada con el siguiente, intercambiéndolos de posicién si estan en el orden equivocado, es necesario revisar varias veces toda la lista hasta que no se necesiten més intercambios, los cual significara que ya esta ordenada. Es uno de los métodos mas simples, como comparar todos los elementos de una lista contra todos, si se cumple que uno es mayor o menor a otro, entonces los intercambia de posicién. Se le llama burbuja por la forma en la que suben por Ia lista los elementos durante los intercambios, como si fueran pequefias “burbujas", aunque también se le conoce como método de intercambio directo. Algoritmo BurbujaSimple(a,n) para i=) hasta n-2 hacer para j=) hasta n-? hacer si (A[]]>AL 1) entonces aux = AL}] ALjl A[j+l] A}+i] = aux fin si fin para fin para fin Algoritmo lusracién 1: Algortmo para Burbuja Simple Burbuja Optimizada 1 Se la llama “Burbuja Optimizada” ya que al final de cada iteracién el elemento mayor queda situado en su posicién, ya no es necesario volverlo @ comparar con ningén otro numero, reduciendo asi el numero de comparaciones por iteracién. Algoritmo BurbujaSimple (A,n) para hasta n-2 hacer para J=0 hasta (n-2)-i hacer si (A[J]>A[3+1]) entonces aux = ALi] AL] =a ALj#i] = fin si fin para fin para fin Algoritmo lustraclén 2: Algortime para Burbuja Optimizada 1 Burbuja Optimizada 2 Se le llama "Burbuja Optimizada 2” debido a que es otra variacién en la cual puede existir la posibilidad de realizar iteraciones de més si el arreglo ya fue ordenado totalmente, por lo que es posible llevar un centinela para saber si hubo cambios 0 no en unaiiteracién. Algoritmo Burbujaoptimizada(A,n) camb z si(A[3] < ALi+1]) entonces x = ALi] 1 = AL+11 fin si fin para is itl fin mientras fin Algoritmo llustracién 3: Algoriime para Burbuja Optimizada 2 Inserci6n (Insertion Sort) Este funciona empezando por un conjunto ordenada, después, cuando hay k elementos ordenados de menor a mayor, se toma el elemento k+l y se compara con todos los elementos ya ordenades, deteniéndose cuando se encuentran un elemento menor (todos los elementos mayores ya han sido desplazados una posicién ala derecha) 0 cuando ya no se encuentran elementos (todos los elementos fueron desplazados y este es el mas pequefio), en este punto se inserta ele elemento k+1 debiendo desplazarse los demas elementos. Algoritmo ion (Aya) ‘ para i=0 hasta n-1 hacer fin para fin Algoritmo lstracién 4: Algoriime de Insercién Seleccién (Selection Sort) Este método se basa en buscar el minimo elemento de Ia lista e intercambiarlo con el primero, después busca el siguiente minimo en el resto de Ia lista y lo intercambia con el segundo, y asi sucesivamente. Mientras que el algoritmo busca el minimo elemento entre una posicién “i" y el final de Ia lista “Intercambiar" el minimo con el elemento de la posicién " Algoritmo ion (A,n) para hasta n-2 hacer para i=ktl hasta n-1 hacer si A[i]= i hacer b= 1 mientras b!=) hacer b= para i=k hasta i hacer si A[i-k]>A[i] entonces =ALi] {i-k] ALi-k]=temp fin si fin para fin mientras ‘=TRUNC (k/2) fin mientras fin Algoritmo lustracién 6: Algoriime de Shell Ordenamiento con arbol binario de bUsqueda (Tree Sort) El ordenamiento con la ayuda de un arbol binario de busqueda es muy simple debido a que solo requiere de dos pasos simples. 1. Insertar cada uno de los némeros del vector a ordenar en le drbol binario de busqueda 2. Remplazar el vector en desorden por el vector resultante de un recorrido InOrder del Arbol Binario de Busqueda (ABB), el cual entregara los nuimeros ordenados. La eficiencia de este algoritmo esta dada segin la eficiencia en la implementacién del drbol binario de busqueda, lo que puede resultar mejor que otros algoritmos de ordenamiento. Algoritmo Orde naConArbolBinarioBusqueda(A,n) hasta i > n-1 hacer Insertar (Arbol BinBusg fin para para ii eda ,ALil); GuardarRecorridoInorden (Arbol BinBusqueda ,A) ; fin Algoritmo lWustracién 7: Algoritmo para érbol binario| Ordenamiento por Mezcla (Merge Sort) Es un algoritmo recursivo que divide continuamente una lista por la mitad, si la lista esta vaciao tiene un solo elemento, dividimos la lista e invocamos recursivamente un ordenamiento por mezcla para ambas mitades, una vez que las dos mitades estén ordenadas, se realiza la operacién fundamental, denominada mezcla. La mezcla es el proceso de tomar dos listas ordenadas mas pequefias y combinarlas en una sola lista nueva y ordenada. Algoritmo MergeSort (A, p, x) sip < r entonces ra((p+r)/2) fin si fin Algoritmo lustracién 8: Algoriime para Ordenamlento de Mezcla Algoritmo Merge(A, p, q, x) =r-pti, isp, j=gtl para k=) hasta *>=l hacer i entonces si A[i] piv hacer gaz entonces Intercambiar (A, i, sino entonces Intercambiar(A,p,j) regresar 3 fin si fin repetir fin Algoritmo Algoritmo Intercanbiar(A, i, BP) lustracién 11: Algortime para pivote e intercambiar En la siguiente tabla se muestran todos los datos registrados por cada uno de los métodos de ordenamiento para una n=500,000 1624.2418141365 s 1158.7230269909 s 1037.5854899883 s 224.7761499882 s 464.4358899593 s 1.1113359928 s 0.8023009300 s 0.2524449825 s 0.1413528919 s 1546.6840040000 s 1154.1830550000 s 1035.0417380000 s 224.1147160000 s 463.1619490000 s 1.0826440000 s 0.5741720000 s 01767640000 s 01182690000 s 0.0000000000 s 0,0000000000 s 0.0000000000 s 0,0000000000 s 0,0231380000 s 0,0000000000 s 0,0000000000 s 0,0000000000 s 0,0000000000 s Tobia 1: Comparative de flempos para los Algoriimos Acontinuacién, se muestra de manera grafica la comparacién de los 9 algoritmos de ordenamiento en tiempo real (segundos) 95.3598582132 % 99.6081917865 % 99.7594784225 % 99.7079347661 % 99.7306833976 % 85.0671818808 % 77 3487823306 % 70.0208014552 % 83.6721473412 % lystactén 12: Grafica comparativa de Tiempos Reales PRACTICA: 01 PRUEBAS A POSTERIORI Andlisis Temporales En las siguientes graficas observaremos el comportamiento temporal de cada algoritmo, Burbuja Simple PRACTICA: 01 PRUEBAS A POSTERIORI | 13 | Burbuja Optimizada 2 Inserci6n PRACTICA: 01 PRUEBAS A POSTERIORI | 14 | Seleccién Ordenamiento Soleccién Tiempo real Tiempo CPU Tempo E/S TIEMPO (SEG) Shell Ordenamiento Shell TIEMPO (SEG) Tiempo real Tiempo CPU Tiempo E:S PRACTICA: 01 PRUEBAS A POSTERIORI [1s | Arbol Binario PRACTICA: 01 PRUEBAS A POSTERIORI [6 | Quick PRACTICA: 01 PRUEBAS A POSTERIORI Aproximaciones a la funcién de comportamiento temporal Aproximaremos cada algorimo con un polinomio de grado 1, 2, 3, u 6, Mostraremos la Grafica de cada aproximacién Burbuja Simple Grado 1 PRACTICA: 01 PRUEBAS A POSTERIORI | 18 | Burbuja Optimizada 1 Grado 1 PRACTICA: 01 PRUEBAS A POSTERIORI | 9 | PRACTICA: 01 PRUEBAS A POSTERIORI einan pen yoiet Bob Opn Burbuja Optimizada 2 Grado 1 PRACTICA: 01 PRUEBAS A POSTERIORI Grado 2 £BBORQ, PRACTICA: 01 PRUEBAS A POSTERIORI £8G08A PRACTICA: 01 PRUEBAS A POSTERIORI Insercién Grado 1 ‘Aoraracion noi en Gn 68 Agen ren Grado 2 PRACTICA: 01 PRUEBAS A POSTERIORI Grado 3 Grado 6 PRACTICA: 01 PRUEBAS A POSTERIORI Seleccién Grado | Grado 2 PRACTICA: 01 PRUEBAS A POSTERIORI Grado | Grado 2 PRACTICA: 01 PRUEBAS A POSTERIORI Tree Sort Grado 1 Grado 2 ee Sea] 7] ar Grado 6 eoeimen near eneem onan eeee PRACTICA: 01 PRUEBAS A POSTERIORI Merge Sort Grado 1 £ABOAR PRACTICA: 01 PRUEBAS A POSTERIORI Grado 6 PRACTICA: 01 PRUEBAS A POSTERIORI El Quick Sort Grado 1 PRACTICA: 01 PRUEBAS A POSTERIORI El PRACTICA: 01 PRUEBAS A POSTERIORI | 32 | Comparativa de las aproximaciones Burbuja Simple Se decidié una funcién polinémica de grado 8 debido a que, entre mayor era el grado de la funcién, mayor era la aproximacién de Ia grafica de Ia funcién, con los puntos experimentales. Por ejemplo, en un grado 1, al graficar, esta era una recta, por lo que no habia una aproximacién con los puntos experimentales También se observé que a partir de un grado 9 se aproximaban avn mas los puntos, sin embargo, con un rango mayor (50,000,000) la grafica se toa hacia los negatives, por lo que ya no era una funcién para considerar. Funcién de complejidad: y= 5,9174 * (10)-3?x° — 1.0654 + (10)-25x7 + 7.2246 » (10)-2x® -2.2786 = (10) Mx9 + 3.3016 * (10)~9x* — 1.7130 = (10)~*x + 3.645527 + 2.0414 » (10)5x — 7.9173 * (10)* Burbuja Optimizada 1 En este método de ordenamiento tuvimos que llevaria hasta el grado 8 debido que en el grado 6 segun la gréfica debajo nos daba tiempos negatives es decir la curva estaba por debajo del 0, por lo tanto, elevandola al grado 8 pude obtener tiempos positivos. Funcién de complejidad: y = 5.0642 » (10)~9x" — 9.7303 * (10)~76x? + 7,205 = (10)?9x°—2,6145 = (10)-Mx5 +4.8335 + (10)-°x* — 4.3915 « (10)~*x3 + 21.1716x? — 2.6763 + (10)°x + 4.0370 + (10)* Burbuja Optimizada 2 En este ordenamiento se decidié irse por un grado 8, debido a que con el grado 1 no pasaba por casi ningin punto, con el grado 2 se empezé a aproximar, hasta elevar hasta el grado 6, sin embargo, con el grado 6 se noté con un mayor acercamiento que tocaba a los negatives, por lo que era ilégico manejar tiempos negatives y se llegé hasta un grado 8 que fue la mejor aproximacién. Funcién de complejidad: y = 1.0791 + (10)-32x9 — 1.9597 * (10)-?5x7 + 1.3750 + (10)-79x® — 4.7592 » (10)“1x5 + 8.6878 * (10)-*°x*—8,2590 » (10)~5x? + 7.7041x? — 7.0608 » (10)*x + 1.6725 » (10)* Insercién En el caso del algoritmo de insercién se decidié por un grado 2, debido a que el grado 1 y 3no se aproximaban al principio y en el caso del grado 6 se observaba en nimeros mayores del millén una tendencia completamente hacia los negatives, por lo que fue descartada. Funcién de complejidad: y = 0.9269x? — 1.3592 « (10)*x + 8.6069 « (10)* ‘2pruenacon palpi el Agata desea Seleccién En el caso del algoritmo de seleccién se decidié ocupar un polinomio de grado 8 debido a que este pasa por los puntos requeridos y cualquier polinomio de grade mayor entraba en la regién de los nUmeros negatives. Funcién de complejidad: y = 5.0415 * (10)~32x* — 9,8462 » (10)"?x” + 7.5439 » (10)"29x7 — 2.8879 = (10)"Mx6 + 5.8431 » (10)-%x* — 6.1032 = (10)~*x* + 31.4655x? — 5.3859 « (10)5x? + 1.3117 « (10)%x. e & & ‘Experimental Grado 1 Grado 2 Grado 3 Grado 6 Grado 8 3 4 Tamajio del problema (n) Shell Para el algoritmo de Shell ocupames un polinomio de grado 9 el cual nos permite tener una curva que se aproxima a nuestra proyeccién deseada, un algoritmo mayor nos llevaria Ia regién de los nimeros negatives haciendo el grado del polinomio no util. Funcién de complejidad: y= 6.0246 + (10)~#9x9 + 2.5682 + (10)~#1x® — 4.5536 * (10)-™4x7 + 4.3469 (10)-27x7 — 2.4122 + (10)-?9x° + 7.8065 + (10)~!4x9 — 1,3882 * (10)~7x* + 0.1150x7 — 23934 = (10)4x? + 3,9059 + (10)8x x10" Experimental Grado + Grado 2 Grado 3 Grado 6 Grados Grado 9 e s & 4 5 6 7 Tamajio del problema (n) Tree Sort Se decidié una funcién polinémica de grado 8 debido a que, por ejemplo, en un grado 1 la gréfica de la funcién era una linea recta, por lo que no habfa una aproximacién con los puntos experimentales. Asi que, entre mayor era el grado de la funcién, mayor era la aproximacién de la grafica de Ia funcién, con los puntos experimentales. Sin embargo, se observé que en grados mayores a 8 la aproximacién entre los puntos y la grafica de Ia funcién polinémica no variaba demasiado, por lo que ya no se opté por una funcién de un grado mayor. Funcién de complejidad: y= 39841 = (10)~Mx® — 1.4814 + (10)-%x7 + 2.2106 » (10)-29x6 — 1.6915 (10)-??x5 +7.0355 + (10)"x* ~ 1.5615 + (10)-9x3 + 0,0018x? + 657.5752x — 7.0913 « (10)° ao sl pte Merge Sort El algoritmo de Merge se decidié por un grado 6, debido a que pasaba por todos los puntos experimentales que se tenian, ademds de cumplir con la parte de no estar en Ia parte negativa teniendo una tendencia hacia los positives en ndmeros mayores a los 10 millones Funcién de complejidad: y = 5.6314 = (10)-32x® — 1.4909 * (10)-?*x5 + 1.3711 * (10)-""x* — 4.9839 + (10)-*4x3 + 4.1894 » 10-$x? 371.1221 — 1.8490 » (10)* Quick Sort Este algoritmo de ordenamiento se usé en grado 6, debido a que cumplia con todos los parametros: ‘esperados, ademas de que todos fueron aproximaciones positivas y no tiempos negativos. Funcién de complejidad: y = 42931 (10)-32x6 — 1.2031 (10)-*4x5 + 1.2735 « (10)-17x* — 6.2077 * (10)-*1 x3 + 1.3201 * (10)~*x? + 177.2811 + 8.0201 = (10)° PRACTICA: 01 PRUEBAS A POSTERIOR! Ei Comparacién de aproximacidén de los algoritmos PRACTICA: 01 PRUEBAS A POSTERIOR! | 20 | Ordenamiento por aproximaciones Burbuja N = 15,000,000 (O0°T) + oe.etRI°E) + 68.4401°8) 4 oh. tmI“N he gurs) + o2.+mI"2) + el.tmd + 02 Tiempo Real (ns): vi = 2.3426e+26 N = 20,000,000 4 STHIRDIT) + e6.4tR2G) + cS. G2"S) + chAURNE) + cSLIGT"S) + e2etint2) + ctited + co Tiempo Real (ns); v2 = +.3890e+27 N = 500,000,000 5) + oft ias"#) + es.tes'3) + ot $8) + e7.8ta9") + c6.¥ 96) + o5.2 Tiempo Real (ns): v3 = 2.3032e+38 N = 1,000,000,000 y8 B08." (a4°8) + oT. (04°) + €.4 (gE) + 6544 INE") + OLE (MEK) + o8.4URAS) + cBsFINEMD) + oL-tnt + oo Tiempo Real (ns): yi = 5.9068e+40 Burbuja Optimizada 1 N = 15,000,000 8) © CR tnte2)+ cb. (m6) + oS.4(a1°Se CALAENI“A) # CHOI) + etfat2) # ott + of Tiempo Real (ns): yi = 1.30596+26 N = 20,000,000 37004082 2+ OB. A106) + cS.A(RDAS)+ ch. ¥(ndMA) + 6.44029) + 62.44 Tiempo Real (ns): y2~= 1.3010e+27 N = 50,000,000 YD B e8.4(n30) + e7.4103°214 c6.4(83"6) + SLM (AIESIY 4AUAI"A) + e.*IRIND) + 62410342) + clan + eo Tiempo Real (ns): y3 = 1.9782e+38 N = 100,000,000 Tiempo Real (ns): 4 = 5.0642e+40 N = 500,000,000 ys B eo.+ (nse) 6 07.4105) SoS) + e5.4 (055) CALM (ASMA) + DLN (MSHS) + 2-H (ASAD) + cL.AnS + 0 Tiempo Real (ns): 5 = 1.97826+46 Burbuja Optimizada 2 N = 15,000,000 Tiempo Real (ns): yi = 2.7809¢+25 N = 20,000,000 Tiempo Real (ns): y2=2.77112+26 N = 500,000,000 Ase a92)+ 6.4109") + eB. IndS)s ofs¥ dM) + c9.*%—9"9) + o2.ttna"a) + elena + oo Tiempo Real (ns): y3 = 4.21536+37 N = 1,000,000,000 Tiempo Real (ns): y4= 1.079140 N = 5,000,000,000 Tiempo Real (ns): y5=4.21526+45 Insercién N = 15,000,000 8.60e9e+08; -1.3892e+04; 0.9269; 18000000; Bez.e(nir2) 4 cl.tnt 4 co Tiempo Real (ns): yi = 2.083514 N = 20,000,000 co = §.60692+08: el = ~1.3892e+04; 62 = 0.9269; n2 = 20000000; y2 2 o2.*(n2*2) + cl.tn2 + co Tiempo Real (ns): y2=3.7049e+14 N = 500,000,000 8.6069e+08; -1.35922+04; o.8z68; 309000000; ©2.*(n3"2) + ol-tn3 + 09 Tiempo Real (ns): y3=2.3172e+17 N = 1,000,000,000 co = 2. e069e+08, cl = ~1.3892e+04; 2 = 0.9269; na = 1000000900; ya 2 c2.*(nar2) + cl.tng + co Tiempo Real (ns): y4 = 9,2689¢+17 N = 5,000,000,000 60 = 8.6069e+08; cl = -1.38926+04; 2 = 0.92697 nS = 5000000000; y8 2 c2.*(ns*2) + cl.*ns + co o Tiempo Real (ns): y4=231726+19 Seleccién N = 15,000,00 (01°7) 4 06.4 (m1) + 08.4 (02S) + oh.A Imm) 4 08.4¢1"9) + Tiempo Real (ns): yi = 1.13226+26 N = 20,000,000 ) + 2Bt|n28G) + esse (RENE) + est emzts) + e2.tmEnay + aetynaN2) + ett (ma) +c Tiempo Real (ns): y2~= 1,1693e+27 N = 100,000,000 saan) $+ att eea) + 20 Tiempo Real (ns): 3 = 4.9438e+32 N = 500,000,000 2) + TLE(REMT) + CELA (RATE) + ELE (RENE) + cALttatA) + BLE (REA) + ezt HZ) + etetae) + <0 Tiempo Real (ns); y4=1.96176+38 N = 1,000,000,000 lB onesies (2807) + S68 (RB°e) + SBLECRETE) 4 ete InEMA) ¢ ca.e Ta) + exetRBeR) + etERE) 6 Tiempo Real (ns): y5 = 5.0317e+40 Shell N = 15,000,000 Tiempo Real (ns): yi = 4.58840+16 N = 20,000,000 Tiempo Real (ns): y2= 5.9549e+17 N = 100,000,000 B98) + ober In8°8) + eT IASD) + OFT IRIN) + OSLHEASE) + oNERIN + eSetUASES) + BuHERSNR) + clettad! + oD Tiempo Real (ns): y3=8.1786e+23 N = 500,000,000 FAB ceintons b ctsrtadtoy + ote 6 c6.*1aH%6) + oS.¥(aH"S) + otie inte) + eter indo) + oteetadna) + elitist) + 00 Tiempo Real (ns): y4 = 1,2735e+30 N = 1,000,000,000 Tiempo Real (ns): y5 = 6.27696+32 Tree Sort N = 15,000,000 ovstim-7) + 6.4481") + oBs4(@°8) + of-t¢nl~hy + 63.4 ImI"3) + €2.4Gn"2) + cLetml + 60 Tiempo Real (ns): yi =3.11196+12 N = 20,000,000 5) 4 of.8 (804) + 8. In2“8) + 62.9(00"2) + oetnd + 02 Tiempo Real (ns): y2=9.8051¢+13 N = 500,000,000 nas) + 26.4 mae) + eaegmaay + azn Tiempo Real (ns): 3 = 1.44406+26 N = 1,000,000,000 chertasre) + cserineeay + eteriaeD + 2 Tiempo Real (ns): y4=3.8362e+28 Merge Sort N = 15,000,000 20 = fi-sasoero8s l= 15000 vi B cs.4(ni76) + 05.4 (ns) + of. (nia) + e3.4 (273) + e2.t mI"2) + oLtmL + 00 Tiempo Real (ns): y1 = 5.0203e+10 N = 20,000,000 ~1.0190e+067 371.122: we (226) + 5.4 (a2"5) + of.4(m2™4) + 3.4 (N2"a) + o2.t(m2~Z) + clitnz + CO Tiempo Real (ns): y2= N = 500,000,000 S244e+11 YS = c8.8(a5"s) + 05.4 (n3S) + c8.4(n3%) + e3.8(aSS) + 2.4 (nS42) + cLans + co Tiempo Real (ns): y3=83417+20 N = 1,000,000,000 00000030; ce.t(ns-e) + 5.4 (ns"s) + 8.4 (ns~s) + o3.4(ns~s) + 2.4 (ns~z) + ca.tas + co Tiempo Real (ns): y5 =8.7526e+26 Quick Sort N = 15,000,000 (nite) + e6.4{n1*S) + 08." mi) + 69.4(n1"9) + 62.4 (m1"2) + 1 Tiempo Real (ns): yl = 4.2976e+10 N = 20,000,000 cl = 177.2611, 2 = -6.2077e. 5 = -1.2031e-24; 6 = 4.2091¢-221 ve # cé.ntn2-6) + 65 5) + chat tnzea) + cat n2ea) + 2.822) + Tiempo Real (ns): y5~= 4.9501e+11 el = 277.2011 ct = 1.77350-27 c€ = 4.20310-2: 2B cb.n(a0°6) + cS.0tn2°S) ¢ chse(na-a) + c2.(n9-9) + c2.ttn9°2) + chvims + off Tiempo Real (ns): y3 = 6.339%6+20 N = 100,000,000 co = s.0z01e+06: ct = 1.27350 5 = -1.20316-247 6 = 4.29218-32; m4 = 20000 + WEB 6.80426) + cSo4(08°9) + chet nAt) + c2.e mtd) + ce. (ote2) + eLatad + ci Tiempo Real (ns): y4= 4.17416+22 N = 500,000,000 y SB C6." (056) + c5.41nS“S) + cht (NSA) + 63.4(n5~D) + €2.4INSAD + clAnS + 0 Tiempo Real (ns): y5 = 6,6705¢+26 Cuestionario iii, vi. vil. {Cul de los 9 algoritmos es mas facil de implementar? R: Burbuja Simple ECU de los 9 algoritmos es el mas dificil de implementar? R: Quick Sort {Cual algoritmo tiene menor complejidad temporal? R: El algoritmo de burbuja, este tardo tanto que no se pudieron hacer todas las pruebas hasta 10 millones de némeros. 4Cual algoritmo tiene mayor complejidad temporal? R: El algoritmo Quick, se pudo observar de manera sencilla en la comparativa de datos de tiempo obtenidos. 4Cual algoritmo tiene menor complejidad espacial? Por qué? R: En todos los algoritmos se utilizé un arreglo dinamico de tamajio n para almacenar los datos(nmeros}, pero en el caso del ordenamiento burbuja se utlizaron Unicamente dos variables de tipo int y el arreglo de tamafio n, porlo que podemos deducir que este es el que tiene menor complejidad espacial. {Cual algoritmo tiene mayor complejidad espacial? ,Por qué? R: Como se mencioné en la pregunta anterior, en todos los algoritmos se utiliz6 un arreglo de dinamico de tamario n para almacenar los datos, pero en el caso del algoritmo de drbol, este al tener la necesidad de ir creando nodos a medida que un dato se va introduciendo, podemos decir que el 4rbol genera la necesidad de tener n nodos, porlo que podemos deducir que el drbol binario de busqueda es el que tiene mayor complejidad espacial, aunque este libera el espacio ocupade instantaneamente después de terminar de ordenar los datos. LEI comportamiento experimental de los algoritmos era el esperado? ¢Por qué? R: Si, esperabamos que las versiones como el merge o quick fueran mas rapidos porlos comentarios hechos en clase y los algoritmos mas comunes fueran un poco més lentos. vili, ZExistié un entorno controlado para realizar las pruebas experimentales? tCual fue? R: Fue en una maquina virtual de Linux (Ubuntu 20.04) con 5 GB de memoria RAM con un procesador de 4 ncleos i3 10th instalada en un disco de estado solide ix. ¢Facilito las pruebas mediante scripts u otras automatizaciones? ~Cémo lo hizo? R: Si, nos facilité el uso de los scripts para hacer las 20 pruebas en una sola ejecucién Xx. %Qué recomendaciones darian a nuevos equipos para realizar esta practica? R: Ocupar los scripts para ahorrarse trabajo

También podría gustarte