V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yusuzhan  ›  全部回复第 1 页 / 共 1 页
回复总数  9
2019-07-09 17:05:32 +08:00
回复了 LeeYan 创建的主题 问与答 每年台风是怎样命名的?
台风名字是一个固定列表, 循环使用的.
这个东西在 Java 里很常用,叫做位掩码。
2019-07-02 16:31:42 +08:00
回复了 yusuzhan 创建的主题 程序员 为什么我的选择排序比插入排序快?
@xuwei0056 用的 Integer 数组,创建的开销没算, 只统计的排序的速度。刚才看了一下, 确实是 exch 速度比 less 慢导致的。
2019-07-02 16:30:19 +08:00
回复了 yusuzhan 创建的主题 程序员 为什么我的选择排序比插入排序快?
@jmc891205 @wutiantong
测了一下,exch 速度确实慢很多

compareTime = 0.006
exchTime = 1.306
2019-07-02 16:03:55 +08:00
回复了 yusuzhan 创建的主题 程序员 为什么我的选择排序比插入排序快?
@wutiantong 真没啥,书里原文

```
private static void exch(Comparable[] a, int i, int j) {
swap++;
final Comparable swap = a[i];
a[i] = a[j];
a[j] = swap;
}
```
2019-07-02 15:52:18 +08:00
回复了 yusuzhan 创建的主题 程序员 为什么我的选择排序比插入排序快?
@davie 在我的电脑上,临界点是 270,超过这个超度的数组,都是选择快
2019-07-02 15:50:58 +08:00
回复了 yusuzhan 创建的主题 程序员 为什么我的选择排序比插入排序快?
@davie 随机性用的红宝书里提供的库,描述是 uniformly

```
/**
* Rearranges the elements of the specified array in uniformly random order.
*
* @param a the array to shuffle
* @throws IllegalArgumentException if {@code a} is {@code null}
*/
public static void shuffle(Object[] a) {
validateNotNull(a);
int n = a.length;
for (int i = 0; i < n; i++) {
int r = i + uniform(n-i); // between i and n-1
Object temp = a[i];
a[i] = a[r];
a[r] = temp;
}
}
```
2019-07-02 15:28:58 +08:00
回复了 yusuzhan 创建的主题 程序员 为什么我的选择排序比插入排序快?
@davie 数组长度 1000,repeat 5000 次测平均值
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2703 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 12:08 · PVG 20:08 · LAX 04:08 · JFK 07:08
Developed with CodeLauncher
♥ Do have faith in what you're doing.