news 2026/6/10 12:46:56

经典算法题型之排序算法(一)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
经典算法题型之排序算法(一)

如大家所了解的,排序算法是一类非常经典的算法,说来简单,说难也难。刚学编程时大家都爱用冒泡排序,随后接触到选择排序、插入排序等,历史上还有昙花一现的希尔排序,公司面试时也经常会问到快速排序等等,小小的排序算法,融入了无数程序大牛的心血。

如牛顿所言,正是站在巨人的肩膀上,我们才能望得更远。本文我们就来一起梳理一下排序算法的前世今生。

冒泡排序

冒泡排序是入门级的算法,但也有一些有趣的玩法。通常来说,冒泡排序有三种写法:

  • 一边比较一边向后两两交换,将最大值 / 最小值冒泡到最后一位;
  • ​经过优化的写法:使用一个变量记录当前轮次的比较是否发生过交换,如果没有发生交换表示已经有序,不再继续排序;
  • 进一步优化的写法:除了使用变量记录当前轮次是否发生交换外,再使用一个变量记录上次发生交换的位置,下一轮排序时到达上次交换的位置就停止比较。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 9:55:00

Anaconda环境导出为yml文件共享PyTorch配置

Anaconda环境导出为yml文件共享PyTorch配置 在深度学习项目中,最让人头疼的往往不是模型设计或训练调参,而是新同事加入时那句:“为什么我在本地跑不通?”——明明代码一模一样,却因为CUDA版本不匹配、某个依赖包升级了…

作者头像 李华
网站建设 2026/5/20 0:41:12

YouTube避坑指南:深度解析六大封号原因

在 YouTube 运营过程中,账号被封几乎是所有创作者和运营团队最担心的问题之一。很多人并不清楚违规点究竟出在哪里,往往是在流量刚起、账号刚变现时突然“被清零”。究竟是触碰了哪条规则?如何才能防患于未然?本文将深度拆解 YouT…

作者头像 李华
网站建设 2026/6/6 15:03:20

Anaconda Navigator无法启动PyTorch环境?修复步骤

Anaconda Navigator无法启动PyTorch环境?修复步骤 在深度学习开发过程中,一个看似简单的“点击启动”操作却常常卡住整个项目进度——当你在 Anaconda Navigator 中为 PyTorch 环境按下“Launch”按钮时,界面毫无反应,或者弹出一…

作者头像 李华
网站建设 2026/6/9 20:52:17

PyTorch反向传播机制原理解析

PyTorch反向传播机制原理解析 在深度学习的实际开发中,我们常常面对这样的问题:一个拥有数百万参数的神经网络,如何在几小时内完成训练?答案的核心,并不在于模型结构本身有多巧妙,而在于背后那套高效、自动…

作者头像 李华
网站建设 2026/6/10 5:38:35

PyTorch卷积层参数计算公式详解

PyTorch卷积层参数计算公式详解 在深度学习项目中,我们常常会遇到这样的问题:为什么模型刚加载到 GPU 上就爆显存?为什么一个看似简单的网络却需要几十秒才能跑完一个 batch?很多时候,答案就藏在最基础的模块里——比如…

作者头像 李华
网站建设 2026/5/2 12:59:21

Anaconda清理缓存释放空间:加快PyTorch环境创建

Anaconda清理缓存释放空间:加快PyTorch环境创建 在深度学习开发中,一个看似不起眼的操作——创建和删除 Conda 环境,可能正悄悄吞噬你宝贵的 SSD 空间。尤其是当你频繁测试不同版本的 PyTorch、CUDA 或尝试各种依赖组合时,你会发现…

作者头像 李华