Cet article parle du tri Hill en JavaScript Si vous ne connaissez pas le tri Hill en JavaScript ou si vous êtes intéressé par le tri Hill en JavaScript, jetons un coup d'œil à cet article ensemble. D'accord, arrêtez de dire des bêtises et allons droit au but. !
Tri Hill en JavaScript
Le tri Hill est une implémentation plus efficace du tri par insertion. Il diffère du tri par insertion en ce sens qu'il compare d'abord les éléments les plus éloignés. Le cœur du tri Hill réside dans la définition de la séquence d’intervalles. La séquence d'intervalles peut être définie à l'avance ou définie dynamiquement. L'algorithme de définition dynamique des séquences d'intervalles a été proposé par Robert Sedgewick, co-auteur de "Algorithms (4th Edition)". Ici, j'ai utilisé cette méthode.
Implémentation du code JavaScript
function shellSort(arr) { var len = arr.length, temp, gap = 1; while(gap < len/3) { //动态定义间隔序列 gap =gap*3+1; } for (gap; gap > 0; gap = Math.floor(gap/3)) { for (var i = gap; i < len; i++) { temp = arr[i]; for (var j = i-gap; j >= 0 && arr[j] > temp; j-=gap) { arr[j+gap] = arr[j]; } arr[j+gap] = temp; } } return arr;}
Ce qui précède représente tout le contenu de cet article. Si vous n'y connaissez pas grand-chose, vous pouvez facilement maîtriser les deux côtés par vous-même
Recommandations associées :
Comment implémenter le tri JS Hill et le tri rapide
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!