一、使用随机算法产生一个数,要求把1-1000W之间这些数全部生成。(考察高效率,解决产生冲突的问题)
/**
* 使用随机算法产生一个数,要求把1-1000W之间这些数全部生成。
* (考察高效率,解决产生冲突的问题)
*/
private static void testRandom() {
int value = 10000000;
//int类型最大值:2的32次方 - 1 = Integer.MAX_VALUE = 2147483647,二十亿多,真够啦 。
Set<Integer> result = Sets.newHashSetWithExpectedSize(value);
Random random = new Random();
long a = System.currentTimeMillis();
while (result.size() < value + 1) {
int i = random.nextInt(value + 1);
result.add(i);
}
System.out.println("\r<br> 执行耗时 : " + (System.currentTimeMillis() - a) / 1000f + " 秒 ");
System.out.println("完了,集合大小为" + result.size());
}
二、两个有序数组的合并排序
三、一个数组的倒序
四、计算一个正整数的正平方根
五、二叉树的遍历算法
六、DFS,BFS算法
七、比较重要的数据结构,如链表,队列,栈的基本理解及大致实现。
八、排序算法与时空复杂度(快排为什么不稳定,为什么你的项目还在用)
九、逆波兰计算器
十、Hoffman 编码
十一、查找树与红黑树
网友评论