javascript快速排序的思考

时间:2018-08-07 14:25:04   收藏:0   阅读:107

还记得三个月前,学习过快速排序,示例所讲的python快速排序十分易于理解,然而网上学习的c#的快速排序当时就懵逼的,现在已经全忘了,大概记得个思路
在学习完了一些高级的js方法后,今天用js模拟了python的快速排序方式

function mySort(nums) {
    if (nums.length < 2) {
        return nums;
    }
    let key = nums[0];
    let less = nums.filter(value => value < key);
    let greater = nums.filter(value => value > key);
    return [...mySort(less), key, ...mySort(greater)];
}

这样也能实现同样的效果,并且利用了递归,但是还是不明白这里的时间复杂度是怎么计算的,这种方式到底算快速排序吗?比挖坑换位好理解多了。

原文:https://www.cnblogs.com/sbzy/p/9436672.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!