1 / 2

Guía 2: D&AA Universidad Viña del Mar 30/09/2002

Guía 2: D&AA Universidad Viña del Mar 30/09/2002 Diseñe un algoritmo recursivo que verifique si una matriz Mnxn es simétrica, es decir, que para todo i,j [1..n], M[i,j]=M[j,i]. Llevelo a un algoritmo iterativo. Calcule la complejidad.

fayola
Télécharger la présentation

Guía 2: D&AA Universidad Viña del Mar 30/09/2002

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Guía 2: D&AA Universidad Viña del Mar30/09/2002 • Diseñe un algoritmo recursivo que verifique si una matriz Mnxn es simétrica, es decir, que para todo i,j [1..n], M[i,j]=M[j,i]. Llevelo a un algoritmo iterativo. Calcule la complejidad. • El método propuesto por Euclides para calcular elmáximo comun divisor entre dos enteros a,b es el siguiente: • Siendo los cuocientes y los restos. El MCD es . Desarrolle un algoritmo • recursivo que entregue el MCD. Llevelo a un algoritmo iterativo. Calcule la complejidad. • Suponga un tipo string como el de pascal es usable, diseñe un algoritmo recursivo para verificar si una palabre es palíndrome (si se lee la misma palabra de izquierda a derecha y viceversa).Calcule su coplejidad. Asuma que puede conocer el largo del string. • Dado el siguiente algoritmo, calcule su coplejidad, planteando la ecuacion de recurrencia: • procedure hanoi(n:integer;Orig,Dest,Aux:char); • begin • if N=1 then • writeln(orig,’-’,dest) • else • begin • hanoi(n-1,orig,aux,dest); • writeln(orig,’-’,dest); • hanoi(n-1,orig,aux,dest); • end • end; • 5. Idem 4. • procedimiento pasarbinario(N:entero); • inicio • si N<2 entonces • escribir(N) • sino • pasabinario(N DIV 2) • escribir(N MOD 2) • fin; • Calcule los órdenes de las siguientes recurrencias: • Suponiendo que tiene un algoritmo que usa la técnica dividir y conquistar, asuma que su algoritmo básico es y la particion y recominación son de . El algoritmo divide en dos el problma. ¿Hasta cuántas llamadas recursivas conviene hacer para que la solución DyC tenga mejor comportamiento que la básica? • Considere la aplicación de la técnica divide y conquistar sobre el siguiente problema. Dado un array de n números enteros, buscamos la cadena de m celdas consecutivas en este array cuya suma sea máxima, pueden haber números negativos (obviamente m<n). ¿Cómo sería una resolución directa del problema?, su complejidad. ¿Es conveniente aplicar divide y vencerás en este caso?. Calcule su complejidad.

  2. Guía 2: D&AA Universidad Viña del Mar30/09/2002 • Suponga que tiene un procedimiento básico un procedimiento Multip1(A, B) para multiplicar matrices de potencia de 2, complejidad cúbica y sum(A, B) suma dos matrices con una complejidad cuadrática. Teniendo la descomposición de Strassen para la multiplicación de matrices, escriba el algoritmo DyC, identificando claramente cada una de sus partes. • Suponga un algoritmo mergeSort orientado a ordenar arreglos con la tecnica DyC: • procedure mergeSort(A:array of integer):array of integer; • begin • if N<=n0 then • ordene por insercion (A) • return A • else • begin • crear A1 y A2 subarreglos de A • B1=mergeSort(A1); • B2=mergeSort(A2); • B=mezcla(B1,B2) • Retun B • end • end; • Para que el algoritmo sea mejor que el de inserción, de que orden debe ser el proceso de mezcla?. Cuál es el orden del Algoritmo entonces?. • Si un arreglo contiene 3 1 4 1 5 9 2 6 5 3 5 8 9 y n0=3, muestre como se compota el mergesort de 10.

More Related