数据结构之快速排序(重点)

news2025/1/22 21:05:12

快速排序

在这里插入图片描述
算法所需
一个基准点
左边是比其小的数,右边是比其大的数
在这里插入图片描述
先使所指的元素作为基准元素low
用一个piviot存储49
然后进行比遍历操作
就是high向左移动(high–),到第一个比piviot小的元素进行一个data[low]=data[high]
然后进行low++,找到第一个大于等于 piviot的赋值给data[high]即可

在这里插入图片描述
就这样循环
最后low=high时
正好把piviot存入,左边比它小右边大于等于它

在这里插入图片描述
接下来我们管左子表和右子表即可
在这里插入图片描述

在这里插入图片描述
右子表

在这里插入图片描述
在这里插入图片描述
这样再划分为两个子表,由于右边只有一个元素不用再次比较了
看左字表即可
在这里插入图片描述
然后排序完毕
就是划分呗

代码实现

递归算法比较复杂
在这里插入图片描述
需要使用栈(系统的),先入后出
首先第一个函数的话
是先对数组做一个整的划分(0-7)
最后pivot=3
在这里插入图片描述
方便划分出来左右子表
然后对左子表进行递归划分
然后还是
先对0到2
划分
最后左边一个元素右边一个元素再进行
这个两个子表已经是排好了其实,下一次还是出来左子表是吧
处理13一个元素呗,high=pivot-1=0,low=0
然后还是low做pivot呗
然后high对应的等于low
high-1不符合条件弹出栈
low还是在那个位置赋值还是那个位置呗,就是没变
右子表就是low=pivot+1=2,high=2
和上面左子表相同呗
在这里插入图片描述
第一个入栈(整体的左子表排序完了)
右子表和做字表类似
不说了

算法效率分析

时间复杂度主要在Partition函数呗
这个函数主要做的不就是high和low双向扫描对比
是查找n个元素
在这里插入图片描述
最后递归时间复杂度
还要与递归层数有关!
在这里插入图片描述

在这里插入图片描述
二叉树的层数其实就是对应的递归次数
在这里插入图片描述

总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26073.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于最低水平面的三维装箱问题的启发式算法

⭐️ 前言 小编之前写过一篇博文:求解三维装箱问题的启发式深度优先搜索算法(python),详述了基于空间选择的三维装箱算法。本文考虑了一个事实:在某些情况下,我们在摆放物品时,总是优先选择较低的平面,基于…

LIN通讯

LIN通讯 一、LIN通讯的背景与意义 随着汽车电子的发展,汽车上的电子零件正在逐渐地增加。而电子零件的增加也导致更多的设备(传感器、执行器、电子控制器)需要加入汽车的局部网络,这些零件的增加还会带来配线的增加,…

java-springboot基于机器学习得心脏病预测系统 的设计与实现-计算机毕业设计

项目介绍 基于机器学习得心脏病预测系统通过对机器学习心脏病数据大数据分析统计系统的建设以实现机器学习心脏病数据分析统计功能。通过对心脏疾病变化市场的充分研究,结合自身技术储备情况,设计并开发了一套基于SpringBoot后台框架、Mybaits数据库映射…

web课程设计网页规划与设计---公司网站(5页 带下拉菜单)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 公司官网网站 | 企业官网 | 酒店官网 | 等网站的设计与制 | HTML期末大学生网页设计作业,Web大学生网页 HTML:结构 CSS&#…

动态规划算法学习二:最长公共子序列

文章目录前言一、问题描述二、DP实现1、最优子结构性质*****2、状态表示*****3、状态递归方程*****4、计算最优值*****5、代码实现:输出最长公共子序列6、代码实现:输出最优解前言 一、问题描述 列举X的所有子序列,然后检查它是否也是Y的子序…

Java设计模式很难吗,这篇带你熟悉设计模式

3.1 概述 可以发现,设计模式好像都是类似的。越看越感觉都着不多。其实都是类似面向接口编程的一种体现,只不过侧重点不一样或者说要体现的结果不一样。 3.2 使用场景 问题一:应对可能变化的对象实现 方案:间接创建 模式&…

pycharm远程连接服务器

遇到的问题: 在服务器上配环境 流程: 先安装anaconda(去其官网下载个脚本文件到服务器上,然后启动脚本即可) bash Anaconda3-5.3.1-Linux-x86_64.sh然后创建 python环境 conda create -n pytorch python3.10去pyt…

【Linux】搞懂进程地址空间

文章目录1、从程序地址空间开始1.1 在C/C中看到的地址实际是?1.2 感性理解虚拟地址空间2、进程地址空间2.1 进程地址空间是怎样被描述的?2.2 进程地址空间和内存的关系2.3 为什么需要进程地址空间?1、从程序地址空间开始 1.1 在C/C中看到的地…

并发:线程状态

java的线程状态分为六种 新建 NEW 当一个线程对象被创建,但是还没有调用start方法时处于新建状态 此时未与操作系统底层线程关联 可运行 RUNNABLE 调用了start方法,就会由新建进入可运行状态 此时与底层线程关联,由操作系统调度执行 &…

python就是学不会怎么办?

编程从来都不是只看,只照葫芦画瓢就能学会的学科要想学会,必须是要有你个人是思考的,学会掌握编程逻辑,在学的过程中想为什么这么写,应该怎么去实现这个功能,拆分为几步不断的实操练习才能让你真的掌握知识…

并发,并行,串行,同步,异步,进程,进程池,线程,线程池

并发,并行,串行,同步,异步,进程,进程池,线程,线程池 进程 什么是进程: 开发写的代码称之为程序,将程序运行起来,就是进程 进程是申请一块内存空…

vue中动态引入图片为什么要是require, 你不知道的那些事

相信用过vue的小伙伴,肯定被面试官问过这样一个问题:在vue中动态的引入图片为什么要使用require 有些小伙伴,可能会轻蔑一笑:呵,就这,因为动态添加src被当做静态资源处理了,没有进行编译,所以要加上require, 我倒着都能背出来… emmm… 乍一看好像说的很有道理啊,但…

Linux实现文件定期本地备份/异地备份/删除备份的脚本

一.背景 1.总会出出现环境上的数据丢失,在没有备份的情况下会非常的被动,不管是由于病毒还是人为的原因造成的程序、数据被删除,有时候后悔已经来不及,不如提前做到数据的备份,而异地备份也更加的保险一点。 2.数据备…

【Servlet】1:踏入JavaWeb的第一把钥匙

目录 第一章 | JavaWeb序章 | 章节概述 | JavaWeb项目运行流程 | 静态与动态资源 | Javaweb开发人员的三个任务 第二章 | HTTP网络协议 | 章节概述 | HTTP简介 | HTTP请求三要素 | HTTP请求包、响应包 | HTTP状态码 | HTTPS vs HTTP 本文章属于后端全套笔记的第三部…

Jenkins 如何 使用企业权限 登录

实现方式 基于Jenkins的 “CAS Plugin” 和 “Role-based Authorization Strategy”插件实现 CAS Plugin: 该插件支持使用CAS作为身份验证源,以支持单点登录(SSO)。一般的,企业都会有 这么一个服务,提供企业 统一身份管理,比如 百…

【GlobalMapper精品教程】026:影像黑边白边出现的原因及解决办法汇总

本文讲解Globalmapper中,影像黑边白边出现的原因及解决办法汇总。 文章目录 1. 影像黑边白边出现的原因2. 影像黑边白边的解决方法1. 影像黑边白边出现的原因 通常,由于影像格式、像素深度、无效值、背景值等原因,会产生黑边或者白边,给影像的拼接或者裁剪带来困扰。 2. …

基于ERP集成的流程制造管理系统

ERP的含义是企业资源计划,含义是对企业所拥有各种资源进行综合规划和优化管理,用以降低成本,提高效率,增加利润。ERP最初是在90年代初提出的,那时的ERP概念,还只是根据计算机技术的发展和供需链管理,推论各…

什么是GEMM?该怎么去学习GEMM?

什么是GEMM? 它的英文全称是 GEneral Matrix to Matrix Multiplication (通用矩阵的矩阵乘法),Gemm在神经网络的计算中占据很重要的位置。 它代表全局矩阵到矩阵的乘法,它本质上完全按照它在tins上所说的那样,将两个输入矩阵乘法在…

批量替换网站程序中的gotoip域名

网站访问出现验证页面,这是因为网站调用了二级域名,西部数码二级域名用于测试访问效果,不能用于正式访问,但是有些用户网站调试安装时使用了二级域名,内部链接没有修改,所以访问调用出现了验证页面。 这时要检查网站后…

DBCO(二苯并环辛炔)DBCO-PEG16-Benzylamine特点分享

【产品描述】 DBCO-PEG16-Benzylamine固体状,长链小分子PEG点击试剂,DBCO(二苯并环辛炔)是一种环炔烃,可以通过在水溶液中通过应变促进的1,3-偶极环加成反应与叠氮化物反应,这种生物正交反应也称为无铜点击…