总结七大排序!

排序总览

外部排序:依赖硬盘(外部存储器)进行的排序。对于数据集合的要求特别高,只能在特定场合下使用(比如一个省的高考成绩排序)。包括桶排序,基数排序,计数排序,都是o(n)

1.什么是稳定性?

待排序的元素中,有两个相同的数据,如果排序后,它们的相对位置,与排序前一致,就称为稳定

例子:taobao商城,有两个用户下单的金额都是8元, 

  1    2023/8/5   15:00    8rmb

   2   2023/8/5   15:06    8rmb

要求先按照时间排序,然后按照金额排序,那么排序后,顺序仍然是1 2 ,1先下单就先发货。

1.选择排序   不稳定

每次从无序区间中,选择一个最小(或者最大值),放在无序区间的最前(或者最后位置),此位置的元素已经有序,直到所有的数据都排序结束。

 

 双向选择排序:

 2.插入排序    稳定

插入排序和选择排序最大的不同?

插入排序当前遍历的元素  > 前驱元素,此时可以提前结束内存循环。

极端情况下,当集合是一个完全有序的集合,插入排序的内层循环,一次都不走,插入排序变成o(n).

插入排序经常用作高级排序算法的优化手段之一。

3.折半插入排序

 4.希尔排序

 先选定一个整数gap,一般选取一个数组长度的一半,将待排序的数组先按照gap分组,不同组之间内部用插入排序,排序之后,在将gap/=2,不断缩小gap,重复上述流程,直到gap=1。

当gap=1,整个数组已经近乎有序。在整个数组上进行一次插入排序,就排序完成了。

此时数组已经近乎有序,gap=1,进行一次插入排序,数组就完全有序了。 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker容器监控:Cadvisor+InfluxDB+Grafana的安装部署

目录 CadvisorInfluxDBGrafan安装部署 1、安装docker-ce 2、阿里云镜像加速器 3、下载组件镜像 4、创建自定义网络 5、创建influxdb容器 6、创建Cadvisor 容器 7、查看Cadvisor 容器: (1)准备测试镜像 (2)通…

深入解析微店详情API:提升电商平台的技术实力

了解微店详情API的基本概念和功能: 微店详情API是用于通过商品ID获取商品详情数据的接口。它提供了丰富的商品信息,包括商品名称、价格、描述、规格、图片等。我们将介绍API的请求和响应结构,以及常见的参数和返回字段。 最佳实践&#xff1…

【stm32】初识stm32—stm32环境的搭建

文章目录 🛸stm32资料分享🍔stm32是什么🎄具体过程🏳️‍🌈安装驱动🎈1🎈2 🏳️‍🌈建立Start文件夹 🛸stm32资料分享 我用夸克网盘分享了「STM32入门教程资料…

基于Spring Boot的医院预约挂号网站设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频: 基于Spring Boot的医院预约挂号网站设计与实现(Javaspring bootMySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java spring…

微服务 云原生:搭建 Harbor 私有镜像仓库

Harbor官网 写在文前: 本文中用到机器均为虚拟机 CentOS-7-x86_64-Minimal-2009 镜像。 基础设施要求 虚拟机配置达到最低要求即可,本次系统中使用 docker 24.0.4、docker-compose 1.29.2。docker 及 docker-compose 的安装可以参考上篇文章 微服务 &am…

MobPush iOS SDK iOS实时活动

开发工具:Xcode 功能需要: SwiftUI实现UI页面,iOS16.1以上系统使用 功能使用: 需应用为启动状态 功能说明 iOS16.1 系统支持实时活动功能,可以在锁定屏幕上实时获知各种事情的进展,MobPushSDK iOS 4.0.3版本已完成适配&#xf…

Photoshop 2023 25.0beta「Mac」

Photoshop 2023是一款专业图像处理软件,它主要用于图像编辑、合成和设计等方面。 Photoshop beta创新式填充的功能特色包括: 自动识别和删除对象:该功能可以自动识别图像中的对象,并用周围的图像填充空白部分,使图像看…

(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(6)

1001 Count 当k在区间(1n)/2的左边时,如图,[1,k]和[n-k1,n]完全相同,所以就m^(n-k) 当k在区间(1n)/2的右边时,如图,[1,n-k1]和[k,n]完全相同,所以也是m^(n-k) 别忘了特判,当k等于n时,n-k为0,然后a1a1,a2a2,..anan,所以没什么限制,那么就是m^n AC代码: #includ…

多通道振弦数据记录仪应用于桥梁监测

随着城市化进程的加快,城市桥梁的数量不断增加。对于城市交通的保障作用,桥梁的重要性不言而喻。而为了保障桥梁的安全,桥梁监测的重要性也越来越受到人们的重视。在桥梁监测中,多通道振弦数据记录仪的应用得到了广泛的认可和应用…

什么是芯片?

https://zhuanlan.zhihu.com/p/228757435?utm_sourceweibo&utm_mediumsocial&utm_oi895441374156029952&utm_contentsnapshot 什么是芯片? 半导体:一种材料,导电性能介于导体和半导体之间,比如硅、锗、砷化镓。用这…

JMeter命令行执行+生成HTML报告

1、为什么用命令行模式 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死; 所以一般采用的方式是在GUI模式下调整测试脚本,再用命令行模式执行; 命令行方式支持在…

【车道线】TwinLiteNet 复现过程全纪录

码字不易,喜欢的请点赞收藏!!!!! 论文全文翻译:【freespace】TwinLiteNet: An Efficient and Lightweight Model for Driveable Area and Lane Segmentation_莫克_Cheney的博客-CSDN博客 目录…