#Maths. BigO. func prog, optimiza algorithms

1 messages · Page 1 of 1 (latest)

opaque violet
#

Empezamos por la función más simple de todas: identity.

Es aquella que retorna siempre el mismo valor.

Cycle complexity: O(1)
Aridad: 1

Expresada como una progresión sería...

// Nth-term of a constant sequence.
// All of this kind of progression's items
// have the same value:
//
// `S(0:a, 1:a, ... m:a, ..., n:a)
//    :=> S(i+1) = S(i) = a;
// {F(x) = a;
//      x=m..n; m<=n & m,n € N0 & a € R}`
const nthconstfx = a =>
  (n, m = 0) => a;

Alguna de la simbología que veremos en cada post:

N0      natural numbers n >=0
N     = natural numbers n > 0
R      = real numbers

€        pertenece
:=       expand by definition
:=>     expand, transpolate, develop

{fx; iter bounds; conditions}      define una aplicación

S(i0 : v_0,  ... , n:v_n )            sequence
a = v_0
#

Maths. BigO. FuncionalProg, optimiza algoritms

#

Maths. BigO. func prog, optimiza algorithms

chrome quiver
#

creo que mis neuronas se fueron de paseo hoy 😂 😂 😂 gracias por el aporte

opaque violet
#

📚 La suma de los elementos generados por función constante es, una serie de progresión algebraica....

Cycle complexity: O(1) constante / monotónica
Num terms: k = n - m + 1
Aridad: 1

// Summation of the k-terms of a generated serie
// by an identity function.
// It forms an arithmetic succession:
const sumconstfx = (n, m = 0) =>
  a => (n - m + 1) * a;

¿os suena de algo la fórmula? 🤔 Seguro que sí ...
💡generar aleatorios entre a y b

🔬 Demostración de la fórmula usando álgebra:

Σ{a; i=m..n; m<n & m,n € N0 & a € R}
     := S(0: 0, 1: a, 2: a+a, ..., m: a*m, ...,
             n-1: a*(n-1), n: S(m)+a) 
     :=> S(i+1) = S(i) + a;

 {F(x) = a * (n - m + 1);
      x=m..n; m<n & m,n € N0 & a € R}

el equivalente con loops (complexity O(n) linear ⚠️) sería...

let sum = 0, a = 5;
for(let i = m; i < n; i++) sum += a;

En cambio, el producto daría un factorial 😉, que es la progresión geométrica más trivial. Algo más avanzada es la del reto #11 Tickets 🚀