可能重复:
如何随机化 javascript 数组?
我需要从一个数组中实现一个随机二叉搜索树(R-BST),以便排序后的数组给出 O(n lg n) 平均时间,而不是 O(n^2) ,如果数组是最坏的情况时间已经排序或反向排序。现在两个步骤是:
- 随机排列数组 A。
- 调用 BST 排序 (A) 。
我该如何进行第一步 JavaScript?我希望它使每个n!
排列都同样可能发生。我相信在 Java 中做到这一点的方法是Collections.shuffle
这样说:
Integer[] arr = new Integer[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = i;
}
Collections.shuffle(Arrays.asList(arr));
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
我将如何在 Javascript 中执行此操作?我可以使用 jQuery。