Logo Studenta

Ejercicio 4. Escribir algoritmos que resuelvan cada uno de los siguientes problemas: a) Dada una secuencia cuyos elementos son todos cero o uno, ca...

Ejercicio 4.
Escribir algoritmos que resuelvan cada uno de los siguientes problemas:
a) Dada una secuencia cuyos elementos son todos cero o uno, calcular la suma de los elementos de la secuencia.
b) Resolver el mismo problema que en el inciso anterior en tiempo logaŕıtmico si se sabe que la secuencia está ordenada.
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.


Esta pregunta también está en el material:

Práctica9
4 pag.

Informática I Universidad Nacional de CórdobaUniversidad Nacional de Córdoba

💡 1 Respuesta

User badge image

Ed IA de Studenta Verified user icon



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));
0
Dislike0

✏️ Responder

FlechasNegritoItálicoSubrayadaTachadoCitaCódigoLista numeradaLista con viñetasSuscritoSobreDisminuir la sangríaAumentar la sangríaColor de fuenteColor de fondoAlineaciónLimpiarInsertar el linkImagenFórmula

Para escribir su respuesta aquí, Ingresar o Crear una cuenta

User badge image

Otros materiales