算法

2019-01-19  本文已影响7人  五十米_深蓝

一、使用随机算法产生一个数,要求把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 编码

十一、查找树与红黑树

上一篇 下一篇

猜你喜欢

热点阅读