IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:归并排序

共 1 篇相关文章

IT 累计浏览 3,802

排序算法 Sleep Sort

排序算法是程序员入门必修课,从冒泡、快速到归并,大家可能已经习以为常。这篇讲的是一个有点“恶搞”意味的排序算法——Sleep Sort。它的核心思想非常奇特:要排序一组数字,就为每个数字启动一个线程,让该线程休眠对应的毫秒数。当休眠时间结束,线程被唤醒,按照被唤醒的先后顺序输出数字,就得到了从小到大的排序结果。 这种排序方式完全绕开了比较和交换,而是利用操作系统线程调度和定时器来“等待”结果。它的实际时间复杂度很高(O(n * max_value)),且依赖于并发环境,并不适合真实的生产场景。不过,它生动地演示了并发编程的另一面:有时候,等待也是一种处理数据的方式。 作者将Sleep Sort称为“巨NB”的算法,更多是在分享一种跳出常规思维的乐趣。它本身可能没有实用价值,但作为一种算法思想的展示,或者说一个有趣的编程谜题,它确实能让我们从不同的角度思考排序问题。