您现在的位置是:首页 > 正文

排序算法之快排

2024-04-01 06:37:46阅读 3

快速排序是常见排序算法中速度最快的,最好的和平均时间复杂度为O(nlogn),空间复杂度为O(nlogn),是一个不稳定的排序方法。

其实现过程如下:

1、取出第开始的元素作为测试值,先从右侧开始遍历;

2、将测试值与右侧值比较,右侧值若大于等于测试值,则继续左移再与测试值比较。若右侧遍历到测试值的下一个元素仍找不到小于测试值的元素,则证明测试值为当前序列中最小的元素,其位置不变,跳过步骤3直接执行步骤4。若找到右侧小于测试值的元素,将此元素赋给测试值所在的位置,执行步骤3;

3、然后再从左侧测试值的下一个元素开始遍历,将其与测试值比较。若左侧遍历到步骤2之前的元素时,仍找不到大于测试值的元素,则将测试值赋给步骤2所找到的元素所在的位置,即将测试值所在的元素与找到的元素交换位置,执行步骤4。若找到大于测试值的元素,将此元素赋给在步骤2中找到的右侧小于测试值的元素的位置,将测试值赋给此元素所在的位置;

4、至此保证测试值左侧均小于等于测试值,右侧均大于测试值,即在测试值处将原序列转换为左侧均小于右侧的序列,再次分别对测试值分开的两边序列((:,i-1)和(i+1,:),除去i)分别递归进行上述1、2、3过程,直到所有元素均有序。




网站文章

  • webstorm 配置连接Linux环境的docker服务

    webstorm 配置连接Linux环境的docker服务

    可以看到docker.service的路径:/usr/lib/systemd/system/docker.service。2)输入命令【systemctl status docker.service】...

    2024-04-01 06:37:39
  • 专题:Secure Shell软件(简称SSH的)

    Xshell、MobaXterm等5款主流SSH客户端对比如今大多数的网民用户都是使用的Windows操作系统,但如果想要连接Linux服务器来进行文件之间的传送,那就需要一个Secure Shell...

    2024-04-01 06:37:31
  • 区块链技术发展现状的思考

    感觉现在的区块链发展态势和10几年前的网格计算很相似,当年网格计算的思想曾经打动了很多人,包括IBM在内的很多公司,都曾积极参与研究,特别是国内的院校、科研机构,甚至曾经认为是第二次互联网革命、中国在互联网技术领域赶超美国的一次机遇。但是后来的实际情况表明,网格计算的思想有其合理性和价值,但最终真正被社会接受的是云计算,二者之间的发展差异表明,商业模式是关键,找到合适的、可以被社会接受的商业模式,

    2024-04-01 06:37:23
  • Flutter 点击按钮弹出底部弹框

    Flutter 点击按钮弹出底部弹框

    Flutter 点击按钮弹出底部弹框

    2024-04-01 06:36:42
  • solrcloud,tomcat,外部zookeeper配置详解

    solrcloud,tomcat,外部zookeeper配置详解

    之前由于在项目中使用的solr3.6,服务器总是莫名其妙的挂掉,各种解决未果,于是尝试换到solr4,想试试solrcloud和zookeeper集群看看效果怎么样,实际效果比3.6稳定很多,下面说一下项目中我们的具体现在一个测试的配置。 我们配置3台zookper服务器和3台solr服务器,由于没有多台机器测试,zookeeper的集群都在一台服务器上,tomcat部署在3台服务器上。 zoo

    2024-04-01 06:36:34
  • windows 下搭建 git 服务器 gogs

    windows 下搭建 git 服务器 gogs

    2019独角兽企业重金招聘Python工程师标准>>> ...

    2024-04-01 06:36:26
  • Java中Thread、ThreadLocalMap、ThreadLocal的联系与区别

    一个Thread对应一个ThreadLocalMap,一个ThreadLocalMap可以对应多个ThreadLocal

    2024-04-01 06:35:44
  • 载波恢复算法 Blind Phase Search 算法(盲相位搜索算法 BPS算法)

    载波恢复算法 Blind Phase Search 算法(盲相位搜索算法 BPS算法)

    背景 载波恢复算法通常分为两部分,频偏估计算法和相位恢复算法。在实际通信中,收发端光载波的频率存在偏差,百MHz-GHz,会对光信号引入较大的相位旋转。同时光通信系统通常是长距离传输,随着时间的延长激...

    2024-04-01 06:35:38
  • 计算机键盘怎么输入平方,word里平方2怎么打_在word里输入㎡符号的方法

    计算机键盘怎么输入平方,word里平方2怎么打_在word里输入㎡符号的方法

    我们在使用word编辑文档时候经常要输入平方或立方等数学符号,平方是一种运算,但是键盘上没有显示㎡符号,这要怎么打出来呢?㎡符号算是特殊符号了,今天教大家在电脑里输入平方2符号的方法。方法一:1、首先...

    2024-04-01 06:35:29
  • 基于SpringBoot的客户关系管理系统

    基于SpringBoot的客户关系管理系统

    现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本客户关系管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大...

    2024-04-01 05:59:54