越来越多的面试中出现排序算法题,其中考的最多的就是"快排算法"
故今日分享:
快速算法的原理及js实现
01
快排原理
快排算法原理:
1.找基数
2.比基数大的放右边,比基数小的放左边...3.将基数左边的数据,及右边的数据,在重复1,2操作(递归方法)
视频说明:
02
js 实现
下面的方法,比较符合上面的原理,但效率不是很高的。...效率高的可以参考下面的方法
此方法用的创建新数组,空间复杂度比较高,没有使用数据交互,使用数据数据交换效率更高点,此方法,只用于原理的理解
var arr=[73,72,71,5,23,-1,23,16,94...){
if(isR){
do{
if(arr[R]>ji){
//右边的下标比基准大...{
if(arr[L]<ji){
//右边的下标比基准大,保持原来不变
sortArr