位置: 编程技术 - 正文

Javascript快速排序算法详解(JavaScript快速排序)

编辑:rootadmin

推荐整理分享Javascript快速排序算法详解(JavaScript快速排序),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript 快排,js快速排序和冒泡排序,js快速排序算法最简单写法,javascript快速排序算法,js实现快速排序算法,js快速排序阮一峰,javascript 快排,javascript 快排,内容如对您有帮助,希望把文章链接给更多的朋友!

快速排序是对冒泡排序的一种改进。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,最终达到整个数据变成有序序列。

假设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为基准数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。一趟快速排序的算法是:1)设置两个变量low、high,排序开始的时候:low=0,high=N-1;2)以第一个数组元素作为基准数据,赋值给base,即base=A[0];3)从high开始向前搜索,即由后开始向前搜索(high--),找到第一个小于base的值A[high],将A[high]和A[low]互换;4)从low开始向后搜索,即由前开始向后搜索(low++),找到第一个大于base的A[low],将A[low]和A[high]互换;5)重复第3、4步,直到low=high;

Javascript快速排序算法详解(JavaScript快速排序)

效率:

时间复杂度:最好:O(nlog2n),最坏:O(n^2),平均:O(nlog2n)。

空间复杂度:O(nlog2n)。

稳定性:不稳定。

javascript中clone对象详解 开发中,打断对象间的引用关系,只想下个副本的情况无处不在,clone一个对象就在所难免了。JavaScript中,简单的方法就是用JSON函数,将对象stringify成

深入分析js的冒泡事件 在javascript的dom操作做肯定会遇到js的冒泡事件,最常见的是div弹窗事件如图解当点击灰色部分是弹窗消失,点击黑色部分时没有效果。通过下面一段代

javascript的push使用指南 push()方法可向数组的末尾添加一个或多个元素,并返回新的长度。返回值为把指定的值添加到数组后的新长度。语法:arrayObject.push(newelement1,newelement2,...

本文链接地址:https://www.jiuchutong.com/biancheng/385606.html 转载请保留说明!

上一篇:Javascript冒泡排序算法详解(JavaScript冒泡排序都不会写)

下一篇:javascript中clone对象详解(java clone用法)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络