利用js实现快速排序的方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了利用js实现快速排序的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1575字,纯文字阅读大概需要3分钟。
内容图文
![利用js实现快速排序的方法](/upload/InfoBanner/zyjiaocheng/299/cd1ef70e9fdc4aee8d32569a24c62600.jpg)
1)算法原理
快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
2)算法描述
快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:
<1> 从数列中挑出一个元素,称为 "基准"(pivot);
<2> 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;
<3> 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
3)javascript代码实现
function paritition(arr, low, high) { let pivot = arr[low]; while (low < high) { while (low < high && arr[high] > pivot) { --high; } arr[low] = arr[high]; while (low < high && arr[low] <= pivot) { ++low; } arr[high] = arr[low]; } arr[low] = pivot; return low; } function quickSort(arr, low, high) { if (low < high) { let pivot = paritition(arr, low, high); quickSort(arr, low, pivot - 1); quickSort(arr, pivot + 1, high); } return arr; } var arr=[1,45,37,5,48,15,37,26,29,2,46,4,17,50,52]; console.log(quickSort(arr,0,arr.length-1));
4)算法分析
最佳情况:T(n) = O(nlogn)
最差情况:T(n) = O(n^2)
平均情况:T(n) = O(nlogn)
十大算法列表:
1.用JavaScript实现十大经典排序算法--冒泡排序
2.用JavaScript实现十大经典排序算法--选择排序
3.用JavaScript实现十大经典排序算法--插入排序
以上就是利用js实现快速排序的方法的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的利用js实现快速排序的方法全部内容,希望文章能够帮你解决利用js实现快速排序的方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。