SOB
Hello·World
划水湾
问道台
卷王殿
藏经阁
APP
登录
注册
第一章 排序算法基础
1.1 什么是排序算法
1.2 排序算法的分类
1.3 排序算法的评估指标
第二章 简单排序算法
2.1 冒泡排序:最直观的排序思想
2.2 选择排序:简单但有效的交换最小化策略
2.3 插入排序:日常生活中的排序方式
第三章 高效排序算法
3.1 堆排序:利用堆数据结构的排序
3.2 快速排序:二十世纪最伟大的算法之一
3.3 归并排序:稳定高效的分治典范
3.4 希尔排序:插入排序的进化
第四章 混合与改进排序算法
4.1 鸡尾酒排序:双向冒泡的智慧
4.2 猴子排序:概率论的幽默诠释
第五章 非比较排序算法
5.1 桶排序:空间换时间的策略
5.2 基数排序:逐位排序的智慧
第六章 排序算法的选择与应用
6.1 如何选择合适的排序算法
6.2 Java 标准库中的排序实现
6.3 排序算法的比较总结
第七章 进阶主题
7.1 并行排序算法
7.2 外部排序
7.3 排序算法的可视化
7.4 排序算法的性能测试
第八章 总结与展望
8.1 排序算法的核心思想总结
6.2 Java 标准库中的排序实现
Java 的
Arrays.sort()
和
Collections.sort()
使用了不同的算法:
基本类型数组
:使用双轴快速排序(Dual-Pivot Quicksort),由 Vladimir Yaroslavskiy 于 2009 年提出。对于小数组(< 47 元素),使用插入排序。
对象数组
:使用 TimSort,由 Tim Peters 于 2002 年为 Python 设计,后被 Java 采用。TimSort 是归并排序和插入排序的混合算法,利用了数据中已有的有序片段。
上一篇
6.1 如何选择合适的排序算法
下一篇
6.3 排序算法的比较总结