java 算法之快速排序

article/2025/9/15 13:24:44

1、快速排序是一种比较高效的排序算法,采用“分而治之”的思想,通过多次比较和交换来实现排序,在一趟排序中把将要排序的数据分成两个独立的部分,对这两部分进行排序使得其中一部分所有数据比另一部分都要小,然后继续递归排序这两部分,最终实现所有数据有序。

2、快速排序图

3、Java 代码实现快速排序

public static void main(String[] args) {int[] arry = {9,8,7,6,5,4,3,2,1};quickSort(arry,0, arry.length-1);System.out.println(Arrays.toString(arry));
}
public static void quickSort(int[] arry,int left,int right){//运行判断,如果左边索引大于右边是不合法的,直接return结束次方法if(left>right){return;}//定义变量保存基准数int base = arry[left];//定义变量i,指向最左边int i = left;//定义j ,指向最右边int j = right;//当i和j不相遇的时候,再循环中进行检索while(i!=j){//先由j从右往左检索比基准数小的,如果检索到比基准数小的就停下。//如果检索到比基准数大的或者相等的就停下while(arry[j]>=base && i<j){j--; //j从右往左检索}while(arry[i]<=base && i<j){i++; //i从左往右检索}//代码走到这里i停下,j也停下,然后交换i和j位置的元素int tem = arry[i];arry[i] = arry[j];arry[j] = tem;}//如果上面while条件不成立就会跳出这个循环,往下执行//如果这个条件不成立就说明 i和j相遇了//如果i和j相遇了,就交换基准数这个元素和相遇位置的元素//把相遇元素的值赋给基准数这个位置的元素arry[left] = arry[i];//把基准数赋给相遇位置的元素arry[i] = base;//基准数在这里递归就为了左边的数比它小,右边的数比它大//排序基准数的左边quickSort(arry,left,i-1);//排右边quickSort(arry,j+1,right);}

4、这个是面试常考的算法之一,后续将继续更新剩下的几种。


http://chatgpt.dhexx.cn/article/4R7PatWR.shtml

相关文章

快速排序(java实现)

高快省的排序算法 有没有既不浪费空间又可以快一点的排序算法呢&#xff1f;那就是“快速排序”啦&#xff01;光听这个名字是不是就觉得很高端呢。 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数&#xff08;不要被这…

(论文阅读)图像超分辨率的回顾与展望

(论文阅读&#xff09;图像超分辨率的回顾与展望 1 引言2 超分辨率技术的分类2.1 多图像超分辨率2.2 视频超分辨率2.3 单图像超分辨率2.3.1 基于插值的单图像超分辨率算法2.3.2 基于重建模型的单图像超分辨率算法2.3.3 基于学习的单图像超分辨率算法 3 基于深度学习的单图像超分…

【图像超分辨率重建】——EnhanceNet论文精读笔记

2017-EnhanceNet: Single Image Super-Resolution Through Automated Texture Synthesis(EnhanceNet) 基本信息 作者&#xff1a; Mehdi S. M. Sajjadi Bernhard Scholkopf Michael Hirsch 期刊&#xff1a; ICCV 引用&#xff1a; * 摘要&#xff1a; 单一图像超分辨率是指从…

图像超分辨率

参考&#xff1a;https://zhuanlan.zhihu.com/p/31664818 SRCNN: 《Learning a Deep Convolutional Network for Image Super-Resolution》 网络框架为&#xff1a;9*9*64(f19,n164),1*1*32(n232),5*5*1(f35) 所用的损失函数为&#xff1a; 该网络和传统方法的稀疏编码来超分…

SRGAN——使用与超分辨率重建的GAN

SRGAN数据GAN理论在超分辨率重建&#xff08;SR&#xff09;方面的应用。 一、超分辨率技术 1.SR技术介绍 SR技术&#xff0c;是指从观测到的低分辨率图像重建出相对应的高分辨率图像&#xff0c;在监控设备、卫星图像和医学影像等领域都有重要的应用价值&#xff0c;也可以应…

OpenCV中的超分辨率

文章目录 介绍OpenCV中的超分辨率EDSRESPCNFSRCNNLapSRN结果结论 介绍 超分辨率是指放大或改善图像细节的过程。请关注此博客&#xff0c;以了解OpenCV中“超分辨率”的选项。当增加图像的尺寸时&#xff0c;需要以某种方式插入额外的像素。基本的图像处理技术无法提供良好的效…

超分辨率IMDN

Lightweight Image Super-Resolution with Information Multi-distillation Network IMDB模块&#xff0c; class IMDModule(nn.Module):def __init__(self, in_channels, distillation_rate0.25):super(IMDModule, self).__init__()self.distilled_channels int(in_channels …

学习盲图像超分辨率的退化分布

学习盲图像超分辨率的退化分布 文章目录 学习盲图像超分辨率的退化分布摘要前言2、相关工作基于预定义的退化基于学习的退化 3、学习退化过程的分布3.1 核模型3.2 噪声模型3.3 概率退化模型3.4 盲SR统一的框架 4、实验4、1 实验设置4.2 与其他方法比较4.2 与其他方法比较 论文 …

超分辨率重建基础知识总结

超分辨率重建基础知识总结 1、为什么使用超分辨率重建&#xff1f;2、经典图像插值算法有哪些&#xff0c;局限在哪里&#xff1f;3、进行超分辨率重建的方式有哪些?4、超分辨率重建技术与图像复原技术区别与联系&#xff1f;5、SR常用的评价指标基于重建的方法基于学习的图像…

ELAN超分辨率

ELAN&#xff1a;将超分网络SwinIR高效化&#xff0c; https://github.com/xindongzhang/ELAN pip install pytorch-msssim -i https://pypi.tuna.tsinghua.edu.cn/simple pip install pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simple pip install tqdm -i https://pypi…

超分辨率论文阅读

残差卷积注意力超分 VDSR、ESPCN 等方法表明:网络深度的加深对超 分辨率图像重建质量有至关重要的影响。但训练深度 卷积神经网络难以收敛,在训练过程会出现梯度消失和 梯度爆炸等问题。同时,未完全考虑到图像全局上下文 的信息对提取区域的影响,没有重点关注到图像边缘和…

图像超分辨率重构实战

低分辨率图像重建 任务总览数据加载与配置模型设置生成、判别、特征提取模块调用损失函数与训练测试 今天我们来介绍利用对抗生成网络&#xff08;GAN&#xff09;对低分辨率图像进行重构的介绍。再开始今天的任务之前&#xff0c;给大家强调一下&#xff0c;我们需要使用1.x.x…

图像超分辨率重建

文章目录 一、前言二、网络详解2.1 FSRCNN2.2 ESPCN2.3 VDSR2.4 EDSR2.5 SR-GAN 一、前言 写这篇文章&#xff0c;主要看了NTIRE 图像复原(Image Restoration)。挑战赛上超分辨率赛道上一些优胜队伍的方法。在这里跟大家分享下&#xff0c;如有错误的地方&#xff0c;还请指正…

图像超分辨率重建概述

1. 概念&#xff1a; 图像分辨率是一组用于评估图像中蕴含细节信息丰富程度的性能参数&#xff0c;包括时间分辨率、空间分辨率及色阶分辨率等&#xff0c;体现了成像系统实际所能反映物体细节信息的能力。相较于低分辨率图像&#xff0c;高分辨率图像通常包含更大的像素密度、…

深度学习用于图像超分辨率重建综述——超分辨率(一)

文章目录 Deep Learning for Image Super-resolution: A Survey超分辨简介最新进展1. 超分网络的升采样结构2. 可学习的升采样方法3. 全局和局部网络结构设计4. 损失函数设计5. 批归一化6. 课程学习7. 多级监督8. 其他网络设计和学习策略9. 无监督图像超分辨率10. 超分在专有领…

单图像超分辨率重建总结

单图像超分辨率重建总结 定义 单图像超分辨率重建&#xff08;Single Image Super-resolution Reconstruction&#xff0c;SISR&#xff09;旨在从给定的低分辨率&#xff08;LR&#xff09;图像中&#xff0c;重建含有清晰细节特征的高分辨率&#xff08;HR&#xff09;图像…

基于深度学习的图像超分辨率重建技术的研究

1 超分辨率重建技术的研究背景与意义 图像分辨率是一组用于评估图像中蕴含细节信息丰富程度的性能参数&#xff0c;包括时间分辨率、空间分辨率及色阶分辨率等&#xff0c;体现了成像系统实际所能反映物体细节信息的能力。相较于低分辨率图像&#xff0c;高分辨率图像通常包含…

图像超分辨率评价指标

参考文章&#xff1a;https://zhuanlan.zhihu.com/p/50757421 https://blog.csdn.net/weixin_36815313/article/details/108531674 实现方式有两种 skimage.measure.compare_ssim sk_psnr skimage.measure.compare_psnr(im1, im2, 255) print(sk_psnr ) 手动实现 def calc…

超分辨率——综述文章

参考地址&#xff1a;https://www.jiqizhixin.com/articles/2019-03-15-7 超分辨率研究的意义 超分辨率研究的问题是 将低分辨率的图像重建为高分辨率的图像。这种操作主要有这么几种应用场景&#xff1a; 图像压缩方面&#xff0c;在传输过程中可以只传输低分辨率的图片&am…

超分辨率基础

超分辨率综述 Image Super-resolution 的深度学习方法 微信二维码引擎OpenCV开源 微信扫码背后的图像超分辨率技术 技术解析 | 即构移动端超分辨率技术 DIV2K数据集下载 B100/Manga109/Set5/Set14/Urban100 提取码&#xff1a;q4ev 超分难点延伸出的技术方向上采样倍数是整数无…