news 2026/1/11 18:00:24

我可能开发了世界上最快的通用排序算法,比快排快 60%

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
我可能开发了世界上最快的通用排序算法,比快排快 60%

在 Flutter ConstraintLayout 中用到了计数排序,众所周知,计数排序在某些场景下可以说是最快的排序算法,它有时甚至不需要元素间两两比较。但它有个最大的问题,它不通用!只适合对小范围的整数进行排序。

于是这段时间我一直在寻思着能不能改进它,让它通用呢,终于今天灵感爆发,我做到了!

因为我姓陈,所以我把它命名为 Chen Sort。看看它的性能表现吧:

空间复杂度恒为:O(n),时间复杂度为 O(nlogn),在最好的情况下,不需要元素间两两比较就能排好序。且它是稳定的。

性能测试

众所周知全世界公认的最快的通用排序算法是快排,我们来和它做下性能对比吧,基准如下:

随机生成若干个范围为 [1,4294967296] 的正整数,使用 Chen Sort 和快排分别排序。

这里没有生成负数,负数性能会下降一些,但仍比快排快很多。

100 个随机数

100_compare.png

平均快了 10%。

10000 个随机数

10000_compare.png

平均快了 60% 多。

100000 随机数

100000_compare.png

平均快了 80% 多。

1000000 随机数

1000000_compare.png

平均快了 20% 左右。

目前的实现语言是 Dart,晚点用 Java 实现一下,并和 Tim Sort 做个对比。应该也会快很多。
代码已开源到 GitHub,目前放在 Flutter ConstraintLayout 的 example/chen_sort.dart 中,后续再把它抽出来。欢迎多多转发。

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。


因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

四、AI大模型商业化落地方案

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/10 21:26:15

基于Java的菜匣子优选系统设计与实现

第三章 系统分析 3.1 系统设计目标 菜匣子优选生鲜电商系统主要是为了用户方便对商品信息的了解以及查看商品分类和查看订单信息,也是为了更好的让管理员进行更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理…

作者头像 李华
网站建设 2026/1/3 19:09:55

从零到跑通Demo:Open-AutoGLM完整安装教程(含依赖库版本锁定方案)

第一章:Open-AutoGLM 安装前的环境准备与核心概念解析在部署 Open-AutoGLM 之前,确保开发环境满足其运行依赖是成功安装与后续高效使用的前提。该框架基于 PyTorch 构建,并融合了 Hugging Face Transformers 的模型加载机制,因此 …

作者头像 李华
网站建设 2026/1/11 6:40:25

Open-AutoGLM类似工具哪家强?权威评测Top 6榜单出炉(含性能数据)

第一章:Open-AutoGLM类似工具的行业背景与选型意义随着大语言模型在自动化代码生成、自然语言理解与智能推理等领域的广泛应用,围绕模型集成与任务编排的开发工具链正经历快速演进。Open-AutoGLM作为支持多模型协同调用与自动化工作流构建的开源框架&…

作者头像 李华
网站建设 2026/1/7 0:39:05

如何3小时内完成Open-AutoGLM私有化部署?一线架构师亲授速成法

第一章:Open-AutoGLM私有化部署概述 Open-AutoGLM 是基于 AutoGLM 架构开发的开源大语言模型系统,支持在企业内部环境中进行私有化部署,保障数据安全与业务合规性。通过本地化部署,企业可在隔离网络中实现模型推理、微调与集成&am…

作者头像 李华
网站建设 2026/1/9 12:15:19

16、Elasticsearch索引结构扩展与优化指南

Elasticsearch索引结构扩展与优化指南 1. 映射设置与数据索引 在开始使用Elasticsearch时,我们需要对数据进行映射设置。以下是一个示例的映射结构: {// 这里可能是某个索引类型的整体设置"name" : {"type" : "object","properties&q…

作者头像 李华
网站建设 2026/1/2 2:00:22

23、Elasticsearch高级功能:从渗透查询到地理搜索

Elasticsearch高级功能:从渗透查询到地理搜索 1. 渗透查询(Percolator) 渗透查询是一种反向的搜索逻辑,传统的搜索是用查询去匹配文档,而渗透查询是将查询进行索引,然后把文档发送给 Elasticsearch,由 Elasticsearch 来找出匹配该文档的查询。这种方法在处理无界输入数…

作者头像 李华