当前位置: 首页 > news >正文

排序算法及不同场景应用总结

排序算法及不同场景应用总结

一、常见排序算法分类与特性

1.1 基础比较类排序

  • 冒泡排序:平均/最坏时间复杂度O(n2)O(n^2)O(n2),最好O(n)O(n)O(n),原地排序,稳定
  • 选择排序:全场景O(n2)O(n^2)O(n2),原地排序,不稳定
  • 插入排序:平均/最坏O(n2)O(n^2)O(n2),最好O(n)O(n)O(n),原地排序,稳定,适用于小规模、基本有序数据。

1.2 进阶高效比较类排序

  • 希尔排序:时间复杂度约O(n1.3)∼O(n2)O(n^{1.3}) \sim O(n^2)O(n1.3)O(n2),原地排序,不稳定,分组插入实现。
  • 归并排序:全场景O(nlog⁡n)O(n\log n)O(nlogn),空间复杂度O(n)O(n)O(n)稳定,基于分治思想,适合大数据、外排序场景。
  • 快速排序:平均O(nlog⁡n)O(n\log n)O(nlogn),最坏O(n2)O(n^2)O(n2),空间O(log⁡n)O(\log n)O(logn)不稳定,工程常用,综合性能优。
  • 堆排序:全场景O(nlog⁡n)O(n\log n)O(nlogn),原地排序,不稳定,常用于Top-K极值场景。

1.3 非比较类线性排序

  • 计数排序:时间复杂度O(n+k)O(n+k)O(n+k),空间O(n+k)O(n+k)O(n+k)稳定,要求数据取值范围有限。
  • 基数排序:时间复杂度O(d(n+k))O(d(n+k))O(d(n+k))稳定,适用于整数、定长字符串。
  • 桶排序:平均O(n)O(n)O(n),最坏O(n2)O(n^2)O(n2)稳定,依赖数据均匀分布。

二、数据库排序实现方案

2.1 索引优先策略

  • ORDER BY字段存在有效索引,依托B+树索引天然有序特性,无需额外排序,性能最优。

2.2 文件排序(filesort)

2.2.1 内存排序
  • 数据量小于排序缓冲区时,MySQL、SQL Server 采用快速排序;PostgreSQL、Oracle 结合快排/归并排序。
2.2.2 外部排序
  • 数据超出内存限制,使用外部归并排序,分块排序后多路合并,适配海量磁盘数据。
2.2.3 Top-N 限定排序
  • ORDER BY + LIMIT场景,采用堆排序,仅维护指定大小堆,降低计算开销。

三、搜索引擎排序架构与算法

3.1 整体流程

  • 整体链路:召回 → 粗排 → 精排 → 重排,不做全量数据排序。

3.2 各阶段核心算法

3.2.1 召回阶段
  • 依托倒排索引完成文档初筛选,搭配****堆排序(TopK)****截取高相关文档。
  • 基础相关性打分:主流使用BM25,传统方案为 TF-IDF。
3.2.2 粗排阶段
  • 采用轻量级模型(逻辑回归、双塔DNN),结合快速排序/堆排序缩减数据量级。
  • 融合特征:相关性分数、PageRank、标题匹配度、时效性等。
3.2.3 精排阶段
  • 工业主流:LambdaMART(LTR排序学习),基于GBDT优化排序指标。
  • 进阶方案:DeepFM、DIN、BERT等深度模型,挖掘语义与个性化特征。
3.2.4 重排阶段
  • 采用启发式规则、贪心算法,完成去重、多样性优化、业务规则适配。

3.3 经典辅助算法

  • PageRank:衡量网页权威性,现为精排重要特征之一。

四、场景选型总结

  • 小规模有序数据:优先插入排序。
  • 通用内存排序:优先快速排序。
  • 海量磁盘数据/要求稳定:优先归并排序。
  • 求取Top-K极值:优先堆排序。
  • 数值范围有限数据:优先计数/基数排序。
  • 数据库:优先利用索引,根据内存、数据量自动切换快排、归并、堆排。
  • 搜索引擎:倒排索引+堆排召回,多模型分层排序结合机器学习完成最终定序。
http://www.jsqmd.com/news/1020830/

相关文章:

  • 投机解码技术解析:如何无损加速大语言模型推理速度
  • 大屏集中控制系统-新版本发布
  • HarmonyOS NEXT 实战:零基础实现屏幕使用时间追踪器(ScreenTimeTracker)
  • 如何为macOS鼠标滚动神器Mos开发自定义插件?从零到一的实战指南
  • 一文秒懂大模型、Token、Prompt、Skill、MCP、Agent、多智能体!
  • 2026年中央空调回收厂家选择指南:资质、案例与区域服务深度解析 - 优质品牌商家
  • 全局状态管理:AppStorage与PersistentStorage实战(22)
  • 本周 AI 新动态精选(2026.06.08–06.14)
  • 仿宋GB2312、楷体GB2312和方正小标宋简体办公字体安装包下载安装教程
  • 阿里巴巴:“周靖人辞职”纯属谣言;Anthropic两款AI大模型发布仅3天即被禁;蔚来李斌:要做好整个行业跌15%-20%的心理准备 | 极客头条
  • 3分钟掌握抖音下载神器:从零开始批量保存无水印视频
  • 2026塑料瓶厂家选购评测:塑料滴灌瓶/塑料瓶医药包装瓶厂家/塑料瓶定制/塑料酵素瓶/合规与定制能力核心对比 - 优质品牌商家
  • 命令行自省:用ps、lsof、ss、strace诊断系统真实状态
  • 让老旧安卓电视重获新生:MyTV-Android轻量直播应用体验分享
  • 龙芯久久派开发入门:从环境搭建到GPIO点灯实战
  • RK3568嵌入式AIoT开发实战:从硬件调试到DeepSeek模型部署
  • 2026龙鱼用品什么牌子好?马印凭借赛事背书与光谱技术成优选,专业玩家必看评测 - 观域传媒
  • RV1126B开发环境搭建全攻略:从Ubuntu配置到固件烧录
  • 【招聘】招聘团队凭什么还在用KPI管人?
  • 【优化充电】基于matlab电动汽车充电网集成优化充电计划【含Matlab源码 15627期】
  • NSK MA系列超高精度微间隙滚珠丝杠详述
  • 2026年成都回收金银怎么选?6家本地实体店实测与行业趋势分析 - 优质品牌商家
  • 移动端 AI 推理框架对比:从 TFLite 到 Core ML 的端侧部署选型
  • MTKClient终极指南:5步搞定联发科设备救砖与数据恢复
  • AI视觉检测到BI大屏:制造业智能化改造的完整数据链路设计
  • 2026年当前山东牛奶冷藏罐销售公司联系指南:恒天然品牌深度解析 - 品牌鉴赏官2026
  • AI Agent—Tools Skill
  • 终极指南:如何免费解锁9大网盘高速下载,告别限速烦恼
  • 2026年LCM液晶模组厂家推荐榜单:汽车仪表盘显示屏/7寸TFT模组/COB模组/车载CID屏/工业级与128*64模组实力之选 - 品牌发掘
  • 埃夫特机器人实战指南:核心技术解析、选型集成与维护全流程