a) Dada una secuencia cuyos elementos son todos cero o uno, calcular la suma de los elementos de la secuencia.
function suma(s: seq) { var suma = 0; for (var i = 0; i < s.length; i++) { suma += s[i]; } return suma; }
b) Resolver el mismo problema que en el inciso anterior en tiempo logaŕıtmico si se sabe que la secuencia está ordenada.
function sumaOrdenada(s: seq) { if (s.length == 0) { return 0; } var mitad = s.length / 2; return sumaOrdenada(s.slice(0, mitad)) + sumaOrdenada(s.slice(mitad)); }
c) Resolver el mismo problema en tiempo logaŕıtmico si se sabe que la secuencia está ordenada, y que en lugar de cero y uno, los posibles elementos de la secuencia son 15 y 22.
function sumaOrdenada2(s: seq) { if (s.length == 0) { return 0; } var mitad = s.length / 2; var suma = 0; for (var i = 0; i < mitad; i++) { if (s[i] == 15) { suma += 15; } else { suma += 22; } } return suma + sumaOrdenada2(s.slice(mitad));
Para escribir su respuesta aquí, Ingresar o Crear una cuenta
Compartir