介绍了 JDK7 中引入的新的排序算法 TimSort,它来自 Python 中 list 的排序算法。将归并排序(merge sort) 与插入排序(insertion sort) 结合,并进行了一些优化。对于已经部分排序的数组,时间复杂度远低于 O(n log(n)),最好可达 O(n),对于随机排序的数组,时间复杂度为 O(nlog(n)),平均时间复杂度 O(nlog(n))。...
分类:
其他好文 时间:
2014-06-19 12:33:58
阅读次数:
575
本文介绍两种主线程等待子线程的实现方式,以5个子线程来说明:
1、使用Thread的join()方法,join()方法会阻塞主线程继续向下执行。
2、使用java.util.concurrent中的CountDownLatch,是一个倒数计数器。初始化时先设置一个倒数计数初始值,每调用一次countDown()方法,倒数值减一,他的await()方法会阻塞当前进程,直到倒数至0。
join方...
分类:
编程语言 时间:
2014-06-19 11:29:16
阅读次数:
262
Java7语法新特性:前言,这是大部分的特性,但还有一些没有写进去,比如多核 并行计算的支持加强 fork join 框架;这方面并没有真正写过和了解。也就不写进来了。1. switch中增加对String类型的支持。Java代码 public String generate(String name, String gender) {
String title = ""...
分类:
编程语言 时间:
2014-06-19 10:55:23
阅读次数:
336
1 2
--------------------对象用Counter-------------------------------------------------------------
3 4 dc={"james":4,"kim":3,"marry":5,"bill":6} 5 ...
分类:
其他好文 时间:
2014-06-16 00:32:05
阅读次数:
216
原文地址:http://my.oschina.net/u/158457/blog/28536排序的方法很特别,有点类似插入排序的味道先看下代码
1 public class Sort { 2 private static boolean[] temp = new boolean[10000]...
分类:
其他好文 时间:
2014-06-16 00:09:10
阅读次数:
211
排个序,求前k个元素和即可 int minimum(int K, vector danceCost) { sort(danceCost.begin(),danceCost.end()); return accumulate(danceCost.begin()...
分类:
其他好文 时间:
2014-06-15 21:53:14
阅读次数:
201
从大到小遍历一遍,每次取M个元素,然后求得最小的floor即可 int minimum(int M, vector heights) { sort(heights.begin(),heights.end()); int minFloor = 10000; ...
分类:
其他好文 时间:
2014-06-15 21:48:45
阅读次数:
229
交换排序:两两比较待排序记录的关键码,若是逆置,则交换,直到无逆置。其中最简单的交换排序是:冒泡排序。
冒泡排序(Bubble Sort,也叫起泡排序):不断地比较相邻的记录,若是不满足排序要求,则交换。
交换时,可从前向后,也可从后向前。看一个从前向后的排序过程:...
分类:
其他好文 时间:
2014-06-15 08:59:39
阅读次数:
280