【发布时间】:2012-08-15 13:57:48
【问题描述】:
我需要从一个数组中实现一个随机二叉搜索树 (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。
【问题讨论】:
-
也许谷歌搜索会发现this
-
只是一件小事,将来可能会对您有所帮助:在 java 中,您可以使用
System.our.println(Arrays.toString(arr));打印数组
标签: javascript jquery random sorting