2017-07-23 2 views
0

Ci-dessous est un programme simple pour fusionner 2 tableaux. J'ai utilisé deux moyens différents pour résoudre ce problème. Comment est-ce que je calcule la complexité d'exécution, si possible la complexité d'espace, de ces deux versions? Merci d'avance!Comment calculer la complexité d'exécution de l'algorithme JavaScript suivant?

let A = [1, 2, 3]; 
 
let B = [2, 3 , 4, 5]; 
 

 
// VERSION: 1 
 
//let C = A.concat(B.filter(item => {return A.indexOf(item) < 0;})); 
 

 
// VERSION: 2 
 
let C = [...new Set([...A,...B])]; 
 

 
// result: 
 
console.log(C);

Répondre

1

La réponse est située dans un terme appelé Big O notation. Vous pouvez trouver des articles détaillés ci-dessous.

De plus, vous pouvez utiliser les outils de programmation fonctionnels Ramda.js qui atteignent le même résultat que les numéros uniq.

let A = [1, 2, 3]; 
let B = [2, 3 , 4, 5]; 
const concat = R.concat(A,B); 
const result = R.uniq(concat); 

console.log(result); 

For example

Time Complexity Big O Notation