面试题:经典常见排序算法 插入 冒泡 选择 归并 快速排序

news2024/10/5 17:16:20

1.插入排序 

从头向尾不断扩大排序范围 (保持范围内顺序)      

时间复杂度 O(n2)

2.冒泡排序 

从第i=1个数据和第i+1个数据 进行比较 大的向后移 直到移动到他的为止(以最大值为主要观察对象 最大值逐个排到正确位置)     

时间复杂度 O(n2)

3.选择排序   

从全局缩小选择范围 ,遍历选择最小的数据排到前面,缩小查找排序空间   

时间复杂度    O(n2)

 4.归并排序   

先归后并  先将排序数组分到最小 然后相邻两组按从小到大顺序合并   直至排序结束 

时间复杂度    O(nlogn)

 

5.快速排序 

思想:选定一个元素  将小于该值的元素全都放到该元素坐标大于该值的元素全都放到右边

实现:双指针 L R,思想左右两指针 当发生数据交换时 由另一指针遍历 相交为止就是选择值的位置

 选择第一个值为中心轴,则先移动R指针,当R值小于中心轴时RL交换 ,此时R-1,L+1,开始移动 L ,L指针向右遍历 当发现大于选定值时与R交换 ,交换后L-1,R-1

时间复杂度    O(nlogn)

 二分查找  对待插入数据进行二分法比大小 如果比数据中该中间值小则在左边范围内继续查找比大小

时间复杂度 

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

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

相关文章

presto插件机制揭秘:探索无限可能的数据处理舞台

文章目录 1. 前言2. Presto插件架构3. Plugin接口3.1 插件协议3.2 插件实现类 4. 插件加载过程4.1 PluginManager 5. 插件应用6. 总结 关键词:Presto Plugin 1. 前言 本文源码环境: presto: prestoDb 0.275版本 在Presto框架中插件机制设计是一种非常常见…

ubuntu| sudo apt-get update 更新失败, 没有 Release 文件 无法安全地用该源进行更新,所以默认禁用该源

xiaoleubt:~$ sudo apt-get update -y 命中:1 https://dl.google.com/linux/chrome/deb stable InRelease 忽略:2 http://ppa.launchpad.net/ubuntu-desktop/ubuntu-make/ubuntu focal InRelease 命中:3 https://packages.microsoft.com/repos/code stable InRelease 命中:4 ht…

全志A40i应用笔记 | 3种常见的网卡软件问题以及排查思路

在飞凌嵌入式OKA40i-C开发板上虽然只有一个网口,但全志A40i-H处理器本身是有两个网络控制器的,因此在飞凌嵌入式提供的产品资料中提供了双网口解决方案。有的工程师小伙伴在开发过程中会遇见一些网卡的设计问题,今天小编为大家分享3种在使用O…

(待完善)python学习参考手册

这里写目录标题 观前浅谈:学习路线 :学习心得笔记:Step1:简单但一问不知怎么的组织语言去回答的小问题:什么是提示符?python解释器是什么?请正在阅读本文的朋友,安装一下PyCharm以及如何进行科学的省钱:Python中的命令行模式和交互模式的区别是什么?请正在阅读本文的朋友安装…

伦敦金开户需要多少资金,有开户条件吗?

伦敦金(London Gold)是黄金市场中备受瞩目的投资种类之一,无论是专业投资者还是新手,都对伦敦金感兴趣。但关于开户需要多少资金,以及是否有特定的开户条件,这些问题可能会让一些新手投资者感到困惑。 首先…

SpringCloud之Seata基本介绍与安装

目录 基本介绍 概述 核心组件 四种方案 部署TC服务(安装) 下载 修改registry.conf nacos添加配置 建表(仅db) 启动 基本介绍 概述 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将…

(免费领源码)C#语言;SQL数据库基于.NET的土特产销售系统的设计与实现27155-计算机毕业设计项目选题推荐

内容摘要 随着Internet技术的发展,土特产销售系统应运而生,土特产销售系统为广大提供了一个更为便利的商品查询、购买、管理平台。为了充分满足用户在线购买土特产的需求,特开发了本土特产销售系统。 本土特产销售系统的开发采用的是C#语言&a…

【STM32 PWM输出+串口调整PWM周期和占空比】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、PWM是什么?1. PWM 图解二、认识STM32的PWM功能1.哪些定时器有PWM输出功能1.1 高级定时器,7路PWM输出,3组是互补输出&…

Node.js如何处理多个请求?

前言 在计算机科学领域,关于并发和并行的概念经常被提及。然而,这两个术语常常被混为一谈,导致很多人对它们的理解存在着很多混淆。本文小编将通过对并发和并行的深入解析,帮助读者更好地理解它们之间的不同特点和应用场景。同时…

一种可以实现安全便捷文件摆渡的跨网文件安全交换软件

为了保护数据的安全性和完整性,很多企业都采用了内外网物理隔离的方式,防止核心数据泄露或被恶意篡改。然而,这也给企业内部或与外部合作伙伴之间的文件交换带来了很多不便和挑战。如何在保证数据安全的前提下,实现跨网文件的快速…

【验证码系列】利用深度学习构建字符型验证码自动识别模型与算法

文章目录 1. 写在前面2. CSCI级设计决策2.1. 字符型验证码识别智能体流程关联2.2. 字符型验证码识别行为设计 3. 字符型验证码识别智能体结构设计3.1. 智能体部件组成3.2. 智能体结构 4. 接口设计4.1. 字符型验证码识别智能体交互 5. 智能体算法设计细节5.1. 算法目标5.2. 字符…

判断两个对象是否不相等operator.ne()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 判断两个对象是否不相等 operator.ne() 选择题 下列代码执行输出的结果是? import operator print("【执行】operator.ne(8,8)") print(operator.ne(8,8)) print("【执行】…

SpringCloud——消息总线——Bus

1.什么是总线? 我们在微服务的项目中,通常会构建一个共同的消息主题,然后需要的服务可以连接上来,该主题中产生的消息会被监听和消费,这种我们称为消息总线。 SpringCloud Bus 配合SpringCloud Config使用可以实现配置…

社区分享|杭银消费金融基于MeterSphere开展接口自动化测试

杭银消费金融有限公司(以下简称“杭银消费金融”)成立于2015年12月,是经中国银保监会批准,由杭州银行作为主发起人,联合滴滴出行、中国银泰等企业组建的持牌消费金融机构,注册资本为25.61亿元。杭银消费金融…

Apifox日常使用(一键本地联调)

背景说明:现在的项目一般都是前后分离,线上出bug或者在进行联调时,有些时候后端需要重复模拟前端数据格式,在使用Apifox的情况下,如何快速造出后端需要的数据呢? 随便找一个网站,点开f12&#…

Cause: unable to find valid certification path to requested target

前话:最近,已经两个月没有怎么打开Android studio开发工具了,只因工作原因到后端帮忙干了两个月,期间由于c盘不堪重负,还经历了对系统盘进行迁移,后面打开之前的As项目,运行报错,报错…

CUDA学习笔记7——CUDA内存组织

CUDA内存组织 CUDA设备内存的分类与特征 内存类型物理位置访问权限可见范围生命周期1全局内存芯片外可读写所有线程和主机端由主机分配与释放2常量内存芯片外只读所有线程和主机端由主机分配与释放3纹理和表面内存芯片外一般只读所有线程和主机端由主机分配与释放4寄存器内存…

【C++数据结构】顶层父类的创建与类族结构的进化

文章目录 前言一、为什么需要创建顶层父类二、创建顶层父类Object的意义三、创建顶层父类Object3.1 顶层父类接口3.2 Object具体实现new和delete运算符重载的实现 和 ! 的运算符重载实现 3.3 纯虚析构函数实现 四、类族的结构进化4.1 怎样进化4.2 SmartPointer的进化4.3 Except…

什么是Target Plus EDI?

“Target Plus” 是美国知名零售商Target(塔吉特)推出的一个合作伙伴计划。这个计划允许第三方卖家在Target.com(塔吉特官方网站)上销售他们的商品。通过Target Plus,第三方卖家可以将他们的产品列在Target.com上&…

uni-app 、Spring Boot 、ant Design 打造的一款跨平台包含小说(仿真翻页、段落听书)、短视频、壁纸等功能含完备后台管理的移动应用

简介 咪哩快看,为用户提供优质阅读,短视频,共同记录美好生活的移动应用,并含有一套完备的后台管理体系,助力开发者快速数字化,开启你的财富之门! 官网: https://miliqkdoc.motopa.…