- 博客(2)
- 收藏
- 关注
原创 Java快速排序以及其优化(双路快排、三路快排)
1.快速排序 思想 快速排序是属于交换排序的基本思想。选择一个基准值val,把比val小的放在前面,比val大的放在后面,最后把val放在两个区域中间,val就到了最终的位置。 很明显快排是一个原地排序,也是一个不稳定排序。 空间复杂度:1.可以是为新数组开辟额外空间O(n)2.当然也可以在原数组内交换得来O(1) 时间复杂度:O(nlogn) 代码实现 1.把数组第一个元素作为v...
2019-03-16 17:09:21 1447 1
原创 7大排序时间复杂度对比、以及优化
数据结构:计算机组织存储数据的方式 算法:作用于特定数据集上的算法流程 【排序算法很重要】 如何衡量一个排序算法的优劣? 1.算法的执行效率 -要看最好、最坏、平均时间复杂度 -有时候个数n太少也要考虑时间复杂度的系数、低阶、常数(冒泡和插入) -比较或交换的次数 2.算法的内存消耗 -通过空间复杂度来衡量 -原地排序:特指空间复杂度为O(1)的排序算法(就是给定有限个数的空间) 3.算法的稳定...
2019-03-13 18:07:56 4310
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人