7.1 并行排序算法

现代计算机通常具有多个 CPU 核心,并行排序可以充分利用多核优势。常见的并行排序算法包括:

  • 并行归并排序:将数组分成多个部分,并行排序每个部分,然后归并
  • 并行快速排序:并行递归处理分区后的子数组
  • 并行基数排序:并行处理每个桶

Java 8+ 提供了 Arrays.parallelSort() 方法,使用 Fork/Join 框架实现并行归并排序。

java
复制代码
import java.util.Arrays;

public class ParallelSortDemo {
    
    public static void main(String[] args) {
        int[] arr = new int[10_000_000];
        // 初始化数组...
        
        // 并行排序
        Arrays.parallelSort(arr);
        
        // 对于小数组(< 8192),parallelSort 会退化为普通 sort
        int[] smallArr = {5, 2, 8, 1, 9};
        Arrays.parallelSort(smallArr);
    }
}