Maison > Article > interface Web > Programme JavaScript pour calculer la fréquence des éléments du tableau
Le calcul de la fréquence signifie que nous devons compter le nombre de fois qu'un élément d'un tableau apparaît dans un tableau donné. Nous pouvons utiliser une structure de données intégrée comme une carte pour obtenir les fréquences ou nous pouvons trier le tableau pour obtenir les fréquences des éléments du tableau. Nous discuterons des deux méthodes, examinons-les une par une -
Dans cette méthode, nous allons trier le tableau et vérifier si l'élément actuel est le même que l'élément précédent et si le tableau actuel n'est pas le même, alors c'est le nouvel élément et la fréquence de l'élément précédent jusqu'à ce que le nombre soit une variable we Ceci sera utilisé pour incrémenter le nombre d’éléments.
Tout d'abord, nous allons trier le tableau à l'aide de la méthode de tri intégrée.
Nous allons créer un tableau qui stockera les éléments du tableau donné et leurs fréquences respectives.
Nous allons créer une variable "count" pour stocker le nombre d'occurrences de l'élément actuel.
Nous allons parcourir le tableau et vérifier à chaque itération si l'élément actuel est égal à l'élément précédent.
Si l'élément actuel est égal à l'élément précédent, alors nous incrémenterons la valeur de comptage.
Si l'élément actuel n'est pas égal à l'élément précédent, alors nous stockerons le nombre de l'élément précédent sous forme de paire de clés dans le tableau indiquant la fréquence de l'élément actuel.
李>De plus, nous mettrons à jour la valeur de comptage à 1.
Après avoir itéré le tableau, nous stockerons la fréquence du dernier élément du tableau trié car il ne sera pas stocké et la boucle se termine.
Voyons le code qui implémente la méthode ci-dessus, ajoutons-le et comprenons-le mieux.
// given array var arr = [ 1, 4, 5, 6, 2, 2, 2, 4, 5, 5, 4, 6, 9, 1, 2, 2, 3] // sorting the array arr.sort() var count = 1 for(var i = 1;i<arr.length; i++){ if(arr[i] == arr[i-1]) { count++; } else { console.log("The frequency of "+ arr[i-1] + " is: " + count); count = 1; } } console.log("The frequency of "+ arr[arr.length-1] + " is: " + count);
La complexité temporelle du code ci-dessus est O(N*log(N)), car nous avons trié le tableau, et le temps requis est N*log(N), et nous avons parcouru le tableau une fois, ce qui nécessite O( N ) time, où N est le nombre d'éléments présents dans le tableau donné.
La complexité spatiale du code ci-dessus est O(1) car nous n'utilisons aucun espace supplémentaire, mais si nous voulons stocker la fréquence, alors il y aura de l'espace supplémentaire et c'est O(N).
Une carte est une structure de données qui stocke des valeurs sous forme de paires de clés, et les données peuvent être mises à jour ultérieurement. L'ajout ou la mise à jour de données dans la carte prend un temps logarithmique, mais ne nécessite pas de trier le tableau, ce qui signifie que nous n'avons pas besoin de modifier le tableau comme nous l'avons fait dans le programme précédent. Regardons d'abord les méthodes, puis nous entrerons dans la partie codage -
Tout d'abord, nous allons créer la carte en utilisant le nouveau mot-clé.
Nous allons parcourir le tableau et vérifier chaque élément.
Si l'élément actuel existe dans la carte, alors nous incrémenterons la valeur stockée pour l'élément actuel, qui est la fréquence.
Si l'élément n'est pas stocké alors nous l'ajoutons comme clé de la carte et lui donnons la valeur 1.
Après avoir itéré le tableau, nous pouvons imprimer les valeurs stockées dans la carte sous forme de paires clé-valeur.
Nous avons vu comment le code est implémenté, passons maintenant à la partie implémentation pour mieux comprendre le code -
// given array var arr = [ 1, 4, 5, 6, 2, 2, 2, 4, 5, 5, 4, 6, 9, 1, 2, 2, 3] var map = new Map() for(var i = 0;i<arr.length; i++){ if(map.has(arr[i])){ var k = map.get(arr[i]); map.delete(arr[i]); map.set(arr[i],k+1) } else{ map.set(arr[i],1); } } console.log(map)
La complexité temporelle du code ci-dessus est O(N*log(N)), où N est la taille du tableau, du facteur ou du journal en fonction du fonctionnement du mappage. Le code ci-dessus a une complexité spatiale de O(N) et nécessite de stocker des éléments dans la carte.
Utiliser une carte pour trouver les fréquences est une bonne chose car nous n'avons pas besoin de modifier le tableau donné.
Dans ce tutoriel, nous présenterons un programme JavaScript permettant de calculer la fréquence des éléments du tableau. Calculer la fréquence signifie que nous devons compter le nombre de fois qu'un élément d'un tableau apparaît dans un tableau donné. Nous avons vu deux façons de résoudre le problème donné, l'une consiste à trier les éléments à l'aide de la fonction de tri intégrée et l'autre consiste à le faire en utilisant la structure de données cartographiques intégrée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!