Cet article présente principalement des informations pertinentes sur la question du tri de distribution normal des tableaux javascript. Les amis qui en ont besoin peuvent se référer à
Titre :
Il existe un tableau : var arr = [. 1,2,1,3,3,2,4,6,3], qui sera transformé en une forme de distribution normale grâce au traitement : [1,2,3,3,6,4,3,2,1 ] .
Laissez-moi vous expliquer brièvement la distribution normale. En fait, vous pouvez la comprendre à peu près lorsque vous voyez le tableau traité. Il est petit aux deux extrémités et grand au milieu. La courbe normale se reflète dans l'axe des coordonnées. est en forme de cloche, avec les deux extrémités. Elle est basse, haute au milieu et symétrique. Parce que la courbe est en forme de cloche, les gens l'appellent souvent une courbe en forme de cloche.
Le code suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Il existe également une telle situation :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Oui, de cette façon, les parties gauche et droite du tableau ne sont pas symétrique, avec 9 comme centre, le côté gauche est 1+3+5+7=16 et le côté droit est 2+4+6+8=20. Il est évident que le côté gauche est plus clair et le côté droit. est plus lourd. Ce n'est pas une distribution normale uniforme. À mesure que le réseau grandit, les problèmes deviendront de plus en plus graves.
Il semble que le code précédent ne puisse pas être utilisé, et nous ne pouvons que repenser la solution. En fait, le cœur du problème est de s'assurer que les côtés gauche et droit du tableau sont égaux ou approximativement égaux, qu'il s'agisse d'un tableau impair ou d'un tableau pair, le tableau peut être divisé en deux parties (un nombre impair peut également être considéré comme un tableau pair après avoir ignoré la valeur maximale. Cela n'a pas d'importance, même. s'il y a plusieurs valeurs maximales identiques. Triez-les simplement de petit à grand et supprimez la dernière), suivez toujours la méthode ci-dessus, placez l'indice à gauche lorsqu'il s'agit d'un nombre pair et placez-le à droite lorsqu'il l'est. un nombre impair. Pendant le processus de croissance des tableaux sur les côtés gauche et droit, lorsque les longueurs des tableaux sont égales, la somme des tableaux sur les côtés gauche et droit est à titre de comparaison, car elle est disposée du petit au grand. , donc dans des circonstances normales, le côté droit sera plus grand que le côté gauche, puis échangez le premier à droite avec le dernier à gauche pour obtenir l'équilibre. Le code est le suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
De cette façon, l'ensemble de la distribution normale sera plus uniforme. Faites quelques séries de tests supplémentaires pour voir l'effet :
1 2 3 4 5 6 |
|
Ce qui précède est ce que j'ai compilé pour tout le monde, j'espère que ce sera le cas. utile pour vous à l’avenir. Tout le monde est utile.
Articles associés :
Utilisation de js pour implémenter un modèle de traitement d'événements
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!