news 2026/4/18 9:03:17

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

作者头像

张小明

前端开发工程师

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

冒泡排序的第一种写法

代码如下:

public static void bubbleSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { // 如果左边的数大于右边的数,则交换,保证右边的数字最大 arr[j + 1] = arr[j + 1] + arr[j]; arr[j] = arr[j + 1] - arr[j]; arr[j + 1] = arr[j + 1] - arr[j]; } } } }

最外层的 for 循环每经过一轮,剩余数字中的最大值就会被移动到当前轮次的最后一位,中途也会有一些相邻的数字经过交换变得有序。总共比较次数是(n-1)+(n-2)+(n-3)+…+1。

这种写法相当于相邻的数字两两比较,并且规定:“谁大谁站右边”。经过 n-1 轮,数字就从小到大排序完成了。整个过程看起来就像一个个气泡不断上浮,这也是“冒泡排序法”名字的由来。

其中,我们在交换两个数字时使用了一个小魔术:没有引入第三个中间变量就完成了两个数字的交换。这个交换问题曾经出现在大厂面试题中,感兴趣的读者可以细品一下。除了这种先加后减的写法,还有一种先减后加的写法:

arr[j + 1] = arr[j] - arr[j + 1]; arr[j] = arr[j] - arr[j + 1]; arr[j + 1] = arr[j + 1] + arr[j];

这两种交换数字的方式和我们平时常用的写法是等价的(不考虑数字越界的情况):

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

浏览器输入url后。。。

面试回答&#xff08;结构化 技术细节&#xff09;&#xff1a; 当在浏览器地址栏输入一个 URL 并按下回车后&#xff0c;整个过程大致可以分为以下几个阶段&#xff1a;1. URL 解析 浏览器首先解析输入的 URL&#xff0c;判断是否为合法格式。如果没有协议&#xff08;如 htt…

作者头像 李华
网站建设 2026/4/17 17:50:35

PyTorch训练速度提升5倍?关键在于正确使用CUDA镜像

PyTorch训练速度提升5倍&#xff1f;关键在于正确使用CUDA镜像 在深度学习项目中&#xff0c;你是否经历过这样的场景&#xff1a;刚写完一个新模型&#xff0c;满心期待地按下运行键&#xff0c;结果发现训练一轮要两个小时&#xff1f;查看资源监控才发现——GPU利用率只有10…

作者头像 李华
网站建设 2026/4/18 11:05:14

QLoRA量化微调教程:结合PyTorch-CUDA-v2.7节省显存开销

QLoRA量化微调实战&#xff1a;基于PyTorch-CUDA-v2.7实现高效显存管理 在大模型时代&#xff0c;一个现实问题摆在每个开发者面前&#xff1a;如何用一张消费级显卡微调70亿参数以上的语言模型&#xff1f;传统全量微调动辄需要80GB显存&#xff0c;而QLoRA的出现彻底改变了这…

作者头像 李华
网站建设 2026/4/18 8:09:05

Git下载大型项目配合PyTorch-CUDA镜像实现端到端开发流程

Git下载大型项目配合PyTorch-CUDA镜像实现端到端开发流程 在深度学习项目日益庞大的今天&#xff0c;一个典型模型仓库动辄几十GB——不仅包含成千上万行代码&#xff0c;还有预训练权重、数据集链接、文档资源和复杂的依赖树。当你试图复现一篇论文或接手团队项目时&#xff0…

作者头像 李华
网站建设 2026/4/16 5:19:10

使用PyTorch-CUDA-v2.7镜像快速启动Transformer文本生成任务

使用PyTorch-CUDA-v2.7镜像快速启动Transformer文本生成任务 在大模型遍地开花的今天&#xff0c;一个常见的场景是&#xff1a;你刚找到一篇惊艳的论文&#xff0c;迫不及待想复现它的文本生成效果。但还没开始写代码&#xff0c;就卡在了环境配置上——Python版本不对、PyTor…

作者头像 李华
网站建设 2026/4/18 10:58:13

PyTorch 2.7版本新特性一览:结合CUDA镜像提升推理速度

PyTorch 2.7版本新特性一览&#xff1a;结合CUDA镜像提升推理速度 在AI模型日益复杂、部署节奏不断加快的今天&#xff0c;一个常见的痛点浮出水面&#xff1a;为什么本地能跑通的代码&#xff0c;换台机器就报“CUDA not available”&#xff1f;为什么训练完的模型一上线&…

作者头像 李华