1. Dividir y Conquistar.<br />Este es un método para encontrar soluciones algorítmicas; consiste de tres fases o pasos:<br />Dividir un problema en subproblemas mas pequeños o mas fáciles de resolver.<br />Conquistar o resolver dichos subproblemas de manera independiente.<br />Combinar estas soluciones y construir así la solución del problema original.<br />El tiempo de ejecución de un problema que se resuelve por este método esta dado por la siguiente expresión:<br />t(n) = tdiv(n) + tconq(n) + tcomb(n)<br />Se enfatizó que si un algoritmo se diseña por este método, y se toma la decisión de dividir el problema en subproblemas de tal manera que estos resultan ser del mismo tipo que el problema original, y que, además, si se decide resolver a estos aplicando la misma estrategia, entonces el algoritmo resultante será recursivo, y el tiempo de ejecución del mismo será la solución de una ecuación de recurrencia. <br />Este método de diseño se ilustró con el ejemplo ordenarxfusion, que ordena un vector por fusión (mergesort). <br />Se definió la operación fusión, que toma dos vectores ordenados de longitudes m y l, respectivamente, y obtiene como resultado otro vector ordenado también, con los elementos de los vectores operando. Se hizo el análisis de fusion y se determinó que la operación básica de este algoritmo es la de comparación; al realizar un ejercicio para fusionar dos vectores se observó que el número de comparaciones que se hicieron fue aproximadamente igual a m+l, el número de elementos del vector resultante.<br />También se realizó un ejercicio para mostrar que el método ordenarxfusion funciona correctamente.<br />Finalmente, se calculó el tiempo de ejecución de este algoritmo para un caso cualquiera:<br />t(n) 2 t(n/2) + teta(n)<br />donde, el primer término del lado derecho corresponde al tiempo de conquista de los dos subproblemas en que se dividió el problema original, cada uno de tamaño aproximadamente igual a la mitad del tamaño de dicho problema; el segundo término corresponde a la suma de los tiempos de división y de combinación; el tiempo de división es constante, mientras que el tiempo de combinación es una función lineal con respecto a n.<br />Se explicó que una constante se representa como teta(1) en notación asintótica, y que cuando teta(n) aparece en una expresión, esto representa una función que crece linealmente, como a·n + b.<br />Ahora queda por resolver esta ecuación de recurrencia, cosa que se hará en la próxima clase. <br />