鸡尾酒排序 | 算法必看系列十三

简介: 鸡尾酒排序其实就是冒泡排序的变形,它的时间复杂度和冒泡排序一样,都是O(n^2),比快速排序要慢不少。

原文链接

鸡尾酒排序其实就是冒泡排序的变形,它的时间复杂度和冒泡排序一样,都是O(n^2),比快速排序要慢不少。

image.png

鸡尾酒排序的思想有点像摆钟一样,从左到右,又从右到左。而冒泡排序只是单向执行。

鸡尾酒排序也是交换排序,假设做一个升序排序,先从左到右,交换一趟把最大的数放置右边,然后从右到左,把最小的数放置左边。

视频动画

Code

image.png

Result

image.png

优化 减少不必要的交换

看了前面冒泡排序和快速排序,我相信优化是一项学习的重点,以后面试中可以把这项说说来,展示出你的实力。

这次我们就优化不必要的交换次数,come on!

我么通过移除swap函数的调用,从而让程序运行的更快一点。每次进行符合条件判断时,不做交换,让最大或者最小的数据做一个标记,待全部比较完之后,才进行做交换。

视频动画


Code

image.png

Result

image.png

-----End-----

来源 | 算法无遗策
作者 | 我脱下短袖

相关文章
|
Windows
Keil5中恢复默认布局-解决左边栏,底部栏位置不是默认布局
Keil5中恢复默认布局-解决左边栏,底部栏位置不是默认布局
2897 0
|
缓存 NoSQL 数据库
探秘Redis读写策略:CacheAside、读写穿透、异步写入
本文介绍了 Redis 的三种高可用性读写模式:CacheAside、Read/Write Through 和 Write Behind Caching。CacheAside 简单易用,但可能引发数据不一致;Read/Write Through 保证数据一致性,但性能可能受限于数据库;Write Behind Caching 提高写入性能,但有数据丢失风险。开发者应根据业务需求选择合适模式。
2841 2
探秘Redis读写策略:CacheAside、读写穿透、异步写入
|
8月前
|
文件存储 数据安全/隐私保护
ToDoList任务管理工具安装步骤详解(附任务创建与优先级设置教程)
ToDoList是一款轻量强大的本地任务管理工具,支持待办清单、优先级标记、截止提醒、项目分类与文件存储(.tdl格式),兼容Win7/10/11,无需联网,数据安全不丢失。安装简单,一键运行即用。
1068 14
|
8月前
|
SQL 供应链 监控
Quick BI使用案例12:如何实现分组内“最新”与“次新”订单时间计算
本文详解订单时效性分析:通过LOD_FIXED与BI_MAX函数,快速计算各区域“最新/次新订单时间”,助力识别交易活跃度、预警客户流失、优化供应链。
|
8月前
|
数据采集 JSON 监控
京东宝贝评论数据采集指南
京东商品评论API提供结构化评论数据,涵盖评分、晒单、追评、商家回复等20+字段,支持多维筛选与排序,适用于舆情监控、竞品分析、用户画像等场景,需认证后合规调用。(239字)
501 11
|
6月前
|
消息中间件 人工智能 运维
秒触达、零资损:亲宝宝基于 RocketMQ 支撑千万家庭实时互动与成长记录
通过全面采用阿里云 RocketMQ 5.x Serverless,亲宝宝显著降低使用成本,为亿级用户的流畅体验提供了坚实保障。
329 52
|
6月前
|
人工智能 安全 JavaScript
OpenClaw爆火背后的"夺命坑":小白入坑前必看的保姆级劝退指南
OpenClaw爆火背后暗藏三大致命风险:高危提示词注入(成功率超91%)、低门槛恶意插件泛滥、本地网关暴力破解漏洞(平均98秒破密)。Gartner称其风险不可接受,Cisco直呼“安全噩梦”。小白慎入!建议暂避,待生态成熟。
491 4
|
6月前
|
SQL 人工智能 运维
【Skills专题】polardbx-sql :一句话帮你设计8亿行单表的 PolarDB-X 分区方案
PolarDB-X Skills 是专为AI代码智能体打造的数据库技能库,聚焦分布式分区设计。将PolarDB-X内核知识封装成可调用Skill,支持自然语言输入,自动生成精准、可执行的分区方案与DDL,覆盖SQL编写、运维及开发全场景。 更多精彩内容可关注“PolarDB”公众号
|
7月前
|
人工智能 缓存 安全
阿里云Tokens怎么收费?最新AI焕新季优惠活动专享万亿Tokens扶持,免费领取1728元代金券
阿里云Tokens按输入/输出分别计费,价格因模型、产品及区域而异,官方活动精准报价:https://t.aliyun.com/U/FzmsXA 千问-Plus约¥0.0008/千tokens(输入),通义点金高级版¥0.1/千tokens。现推出AI焕新季活动,享万亿Tokens扶持及1728元代金券,开通百炼更可免费领7000万Tokens!
1358 1
|
6月前
|
IDE 开发工具 开发者
彻底解决Flutter开发HarmonyOS应用报错:NoHmosSDKfound(鸿蒙Flutter环境搭建全攻略)
Flutter鸿蒙开发遇“NoHmosSDKfound”报错?参考:http://www.phdhk.cn主因是Flutter未识别HarmonyOS SDK路径。本文详解三步解决法:①在DevEco Studio中定位SDK安装路径;②配置系统环境变量HOS_SDK_HOME;③用flutter config --ohos-sdk强制指定路径。图文清晰,小白也能快速通关!

热门文章

最新文章