首页 > 代码库 > Java算法
Java算法
我们常见的排序分为以下几类:
- 插入排序(直接插入排序,希尔排序)
- 交换排序(冒泡排序,快速排序)
- 选择排序(直接选择排序,堆排序)
- 归并排序
- 分配排序(箱排序,基数排序)
对于以上的排序有什么不同呢?
需要的辅助空间组多的:归并排序, 需要的辅助空间最小的:堆排序,平均速度最快的:快速排序
时间复杂度:
- O(nlogn): 快速排序, 堆排序, 归并排序
- O(n2): 直接插入排序, 冒泡排序, 直接选择排序
- O(n): 基数排序
空间复杂度:
- O(1): 直接插入排序, 冒泡排序, 直接选择排序
- O(logn): 快速排序
- O(n): 归并排序
Java算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。