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

(2025|ICLR|厦大华为,LoSA,基于表示互信息的动态层级稀疏率,基于重构误差的秩分配)LLM 的动态低秩稀疏自适应

Dynamic Low-Rank Sparse Adaptation for Large Language Models

目录

1. 引言

1.1 关键词

2. 方法

2.1 预备知识

2.2 层级稀疏率确定

2.3 稀疏感知的秩分配

2.4 动态稀疏与适配

3. 实验

3.1 实验设置

3.2 语言建模

3.3 零样本任务

3.4 N:M 稀疏性

3.5 消融实验

3.6 分析

4. 结论


1. 引言

随着大语言模型(Large Language Models, LLMs)的发展,模型规模显著增加,极大提升了在多领域理解和生成内容的能力。然而,模型规模的指数增长也带来了部署和推理困难,主要表现为计算需求和延迟的剧增。针对这些问题,模型压缩方法,如稀疏化(Sparsity)、量化和知识蒸馏被广泛研究,其中稀疏方法在降低模型大小和推理延迟方面表现突出。

现有的稀疏方法,如 SparseGPT 和 Wanda,在高稀疏度情况下性能会严重退化,通常需要额外的微调以恢复性能。低秩适配(Low-Rank Adaptation, LoRA)是一种高效的参数微调方法,但存在两个核心问题:

  • LoRA 无法在微调后融入稀疏的 LLM 权重中,导致推理延迟增加。
  • 均匀稀疏率和静态秩设置未能充分利用不同层之间的差异,限制了稀疏模型性能的恢复。

本文提出了一种 动态低秩稀疏适配方法(Dynamic Low-rank Sparse Adaptation, LoSA),实现了稀疏 LLM 与低秩适配的无缝集成。LoSA 在微调过程中动态调整稀疏率和秩,以提高稀疏 LLM 的性能而不增加推理延迟。具体而言,LoSA 通过 基于表示互信息(Representation Mutual Information, RMI)的动态层级稀疏率 基于重构误差的秩分配策略 实现了稀疏与低秩适配的有效融合。

1.1 关键词

大语言模型(LLMs),稀疏化(Sparsity),低秩适配(LoRA),表示互信息(Representation Mutual Information, RMI),稀疏感知秩分配(Sparsity-Aware Rank Allocation),动态稀疏微调(Dynamic Sparse Fine-tuning)

2. 方法

2.1 预备知识

本文基于 SparseGPT 的思想,将 LLM 的稀疏化视作逐层的重构问题。具体而言,将密集模型每一层的权重与输入特征图进行稀疏化掩码处理,并引入低秩适配模块以减小稀疏引入的重构误差。通过统一优化问题同时确定稀疏掩码、层级稀疏率和层级秩分配。

优化目标是尽量减少稀疏 LLM 的每一层与其对应的密集层之间的输出差异:

其中,i:层,s:稀疏率,r:秩,X:输入,M:掩码,W:权重,BA:低秩矩阵 

图 1:将传统的稀疏 LLM 与 LoRA 相结合与 LoSA 方法进行比较

  • (a) 传统的 LLM 稀疏方法采用均匀的稀疏率,而 LoRA 也使用均匀的秩。此外,LoRA 权重不能合并(merge)到稀疏 LLM 权重中。
  • (b) LoSA 对 LLM 执行动态稀疏低秩自适应,同时将稀疏性应用于 LLM 和低秩自适应。此外,LoSA 根据表示互信息动态确定逐层稀疏率,并根据稀疏 LLM 的重建误差分配低秩自适应的秩。 

2.2 层级稀疏率确定

现有稀疏方法采用均匀稀疏率,忽视了层间重要性的差异。本文基于 RMI 提出了一种快速计算层级重要性的方法。RMI 用于衡量不同层之间的冗余性,进而确定每一层的稀疏率。

  • 公式 2:信息瓶颈(Information Bottleneck,IB),用于压缩冗余
  • 公式 3:扩展的 IB,附加了最小化层间信息冗余。

上式意味着与其他层高度相关的层不太重要。 层 i 的重要性计算为:

层稀疏率 s 计算为:

上述方法难以计算,可利用归一化 Hilbert-Schmidt 独立性准则(Hilbert-Schmidt Independence Criterion,HSIC)实现快速高效计算,仅需通过模型的特征图即可完成,极大降低计算复杂度。

其中,X_i 表示第 i 层的输入,X 表示第 i 层的特征图。

【注:直观理解,类似于余弦相似度,两层特征图相似度越高,这两层的相关度越高】 

2.3 稀疏感知的秩分配

使用低秩自适应可以有效恢复稀疏 LLM 的性能。为合理分配有限的低秩适配参数预算,本文提出了基于层级重构误差的秩分配方法,更高的重构误差意味着该层需要更多的微调参数。秩分配公式为:

其中,L_i 表示第 i 层的重构误差,L_avg 表示所有 n 层重构误差的均值, Ω 表示所有 n 层的平均秩,⌊x⌉ 将 x 四舍五入为最接近的整数。

2.4 动态稀疏与适配

本文进一步提出了一种动态稀疏与适配策略,逐步增加稀疏率,同时动态调整低秩适配模块的秩,以有效整合稀疏和微调。

执行 T 步稀疏性和微调,并使用立方稀疏性调度(cubic sparsity schedule)确定渐进稀疏率,如下所述:

其中 Θ^f 是最终稀疏率,Θ^t 表示第 t 步中 n 层的平均稀疏率。

此外,由于重构误差会随着稀疏率的上升而增加,因此在每个步骤中线性增加平均秩 Ω^t,即 

在计算步骤 t 的平均稀疏率 Θ^t 后,

  • 首先使用第 2.2 节中概述的方法建立分层稀疏率 s^t。
  • 随后,通过应用稀疏掩码 M^t 同时稀疏化 LLM 和低秩自适应的权重,该掩码是使用 SparseGPT或 Wanda 得出的。这种协调的方法确保了 LLM 权重和低秩自适应之间的兼容性,有助于在微调后将低秩自适应集成到 LLM 的稀疏权重中。
  • 一旦建立了稀疏 LLM,就会采用第 2.3 节中描述的秩分配方法确定低秩自适应的分层秩 r^t。
  • 算法的全部细节在算法 1 中概述。

3. 实验

3.1 实验设置

实验模型包括 LLaMA-1、LLaMA-2、LLaMA-3、Vicuna 和 OPT,参数规模覆盖 7B 到 70B。使用 WikiText-2 数据集评估语言建模能力,使用多个零样本任务评估模型泛化能力。微调数据集为从 Alpaca-GPT4 中随机抽取的 10K 样本,优化器为 Paged AdamW,学习率为 2×10⁻⁴,初始秩为 6。

3.2 语言建模

LoSA 方法在 WikiText-2 上显著降低了不同稀疏水平(50%-70%)下稀疏 LLM 的困惑度(Perplexity),表现显著优于 LoRA。如在 70% 稀疏率下,LLaMA-2-7B 使用 LoSA 微调,困惑度较 Wanda 降低 68.73,展现了显著的性能提升。

3.3 零样本任务

LoSA 在 HellaSwag、Winogrande 等七个下游零样本任务上明显提高了稀疏 LLM 的准确性。尤其在 70% 稀疏率下,LoSA 对 LLaMA-2-7B 的平均零样本准确率提升达 16.32%,明显优于 LoRA,证明了其强大的泛化性能。

3.4 N:M 稀疏性

LoSA 同样适用于混合 N:M 稀疏设置(如混合 2:8 稀疏,N 表示非零权重),通过给更重要层更低的 N 值,进一步提升了稀疏模型的性能,实验结果表明 LoSA 显著优于传统方法和 LoRA。 

3.5 消融实验

消融实验验证了层级稀疏率(LSR)、稀疏感知秩分配(SRA)和动态稀疏适配(DSA)三个核心策略的有效性。实验表明,移除任一策略都会导致性能下降,表明三者均对LoSA的性能提升具有贡献,其中动态稀疏适配策略的贡献最大。

步 T 决定了稀疏率增加的速度。T 越大,稀疏率增加越慢,每次删除的参数越少。 

3.6 分析

LoSA 微调效率高,参数量仅为 LoRA 的 1 − s%,GPU 内存占用与 LoRA 相近,但由于额外步骤耗时较长,LoSA 微调需要更多时间(约 45 分钟)。但其相比 LoRA 在推理速度和模型精度方面均有明显优势,如 CPU 加速最高达到 2.60 倍。

4. 结论

本文提出了动态低秩稀疏适配方法 LoSA,实现了 LLM 稀疏和低秩适配的统一优化,有效提升了稀疏 LLM 的性能,无额外推理延迟,并通过广泛实验验证了方法的高效性和实用性。


论文地址:https://arxiv.org/abs/2502.14816

项目页面:https://github.com/wzhuang-xmu/LoSA

相关文章:

(2025|ICLR|厦大华为,LoSA,基于表示互信息的动态层级稀疏率,基于重构误差的秩分配)LLM 的动态低秩稀疏自适应

Dynamic Low-Rank Sparse Adaptation for Large Language Models 目录 1. 引言 1.1 关键词 2. 方法 2.1 预备知识 2.2 层级稀疏率确定 2.3 稀疏感知的秩分配 2.4 动态稀疏与适配 3. 实验 3.1 实验设置 3.2 语言建模 3.3 零样本任务 3.4 N:M 稀疏性 3.5 消融实验 …...

暨南大学智科人工智能复试模拟

本人初试统招线以外,复试逆袭上岸!!!复试中的笔试和面试尤为重要,笔试固然重要但是面试的不确定性更强。另外,很多同学在复试之前可能都没有完整的走过一遍复试面试的流程,这里建议大家最好是能…...

编译器视角下的 C++ 异常:探究 throw 与 catch 的编译原理

目录 0.写在前面 1.C异常概念 异常的定义: 异常处理的基本组成部分: 1. throw表达式 2. try块 3. catch块 2. 异常的使用 异常的抛出和匹配原则: 在函数调用链中异常栈展开匹配原则: 3.异常的重新抛出 4.异常安全 异…...

测试淘宝评论接口返回数据的详细说明

在电商数据分析、用户体验优化和竞品分析中,获取商品评论数据是一项重要的功能。淘宝开放平台提供了商品评论的 API 接口,允许开发者通过合法的方式获取商品的用户评论数据。本文将详细介绍如何测试淘宝评论接口的返回数据,包括接口调用步骤、…...

【微知】plantuml在泳道图中如何将几个步骤放入一个框中?(group “sub框1“; end !! “sub框1“)

背景 将几个步骤放在一起画个框,分区方便 命令 用法: group 和 end 关键字 用法: group "sub框1"User -> User: 模板渲染User -> User: 返回 HTMLend !! "sub框1" 这里!!是注释实操 修改前: 修改…...

深入解析 React 最新特性:革新、应用与最佳实践

深入解析 React 最新特性:革新、应用与最佳实践 1. 引言 React 作为前端开发的核心技术之一,近年来不断推出 新的 API 和优化机制,从 Concurrent Rendering(并发模式) 到 Server Components(服务器组件&a…...

C语言之数据结构:理解什么是数据结构和算法(启航)

引言 启航篇,理解什么是数据结构和算法 在 C 语言编程领域,数据结构和算法是两个核心且紧密相关的概念 一、数据结构 定义 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合(比如数组),它是组织和存储数…...

【21】单片机编程核心技巧:if语句逻辑与真假判断

【21】单片机编程核心技巧:if语句逻辑与真假判断 七律 条件分野 if语句判真假,括号条件定乾坤。 非零为真零为假,大括号内藏玄门。 省略虽简风险在,代码规范护本根。 单片逻辑由心控,条件分支自成文。 注释&#xf…...

hackme靶机通关攻略

第一步:确定靶机IP 第二步:使用御剑后台扫描工具扫描敏感文件 第三步:访问register.php注册登录,进入welcome.php页面 第四步:访问一个不存在的页面,确定网站使用的中间件是Apache(无用&#xf…...

网络安全演练有哪些形式

OPENVAS使用 1、确定指定IP是否能ping通 2、创建扫描目标 3、创建扫描任务(scan management →newtask) 4、开始任务start 5、查看扫描细节 6、查看扫描结果,包含漏洞详细信息,亦可到处PDF文件 7、导出扫描结果报告 8、为…...

PE,ELF,COFF

本文来自 (1)腾讯元宝 (2)程序员的自我修养 PE(Portable Executable)是一种文件格式,主要用于Windows操作系统中的可执行文件(如.exe、.dll、.sys等)。PE格式是Windows操作系统中标准的可执行文件格式,由…...

sql靶场-时间盲注(第九、十关)保姆级教程

目录 时间盲注(第九、十关) 1.判断 2.确认时间盲注 2.手工尝试时间盲注 数据库名长度 数据库名字符 表数 表名长度 表名字符 字段数 字段名长度 字段名字符 4.脚本时间盲注注入 5.第十关 时间盲注(第九、十关) 1.判…...

常见FUZZ姿势与工具实战:从未知目录到备份文件漏洞挖掘

本文仅供学习交流使用,严禁用于非法用途。未经授权,禁止对任何网站或系统进行未授权的测试或攻击。因使用本文所述技术造成的任何后果,由使用者自行承担。请严格遵守《网络安全法》及相关法律法规! 目录 本文仅供学习交流使用&am…...

【linux】解决 Linux 系统中 root 用户无法打开图形界面问题

【linux】解决 Linux 系统中 root 用户无法打开图形界面问题 问题描述: 在 Linux 系统中,当我们远程SSH尝试以 root 用户身份运行需要图形界面的应用程序时,可能会遇到以下错误信息: MoTTY X11 proxy: Unsupported authorisati…...

数据库系统概念全面解析

数据库系统可能看起来很抽象,但其实它们就像我们生活中的许多事物一样,有着清晰的结构和规则。让我们通过一些有趣的生活例子来理解这些概念。 一、数据库系统基础 想象一个图书馆: - 数据库管理系统(DBMS) 就像图书馆的管理员 - 数据库(DB…...

unity Rigidbody2D、Collider2D参数详解

Rigidbody2D属性: BodyType:类别Simulated:模拟,是否模拟真实物理效果。Use Auto Mass:使用自动质量,根据BoxCollider2D大小来设定Mass:质量。Linear Drag:影响位置移动的阻力系数An…...

es-索引详解

在 Elasticsearch 中,**索引(Index)**是核心概念之一,类似于关系型数据库中的“表”。索引用于存储、组织和检索文档(Document)。以下是关于 Elasticsearch 索引的详细解析: 1. 索引的基本概念 …...

SpringBoot3+Lombok如何配置logback输出日志到文件

Background/Requirement SpringBoot3Lombok如何配置logback输出日志到文件,因为我需要对这些日志进行输出,控制台输出和文件输出,文件输出是为了更好的作为AuditLog且支持滚动式备份,每天一个文件。 Technical Solution 1.确保你…...

城市客运安全员适合哪几类人报考

城市客运安全员适合以下几类人报考: 相关专业人员:交通工程、安全工程、交通运输管理等相关专业的人员,他们在学校系统学习过交通安全、运输管理、安全管理等方面的知识,具备扎实的理论基础,更容易理解和掌握城市客运…...

Elasticsearch 解析 updateTime 字段时格式错误

遇到的问题: {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse field [updateTime] of type [date] in document with id 57"}],"type":"mapper_parsing…...

Windows远程桌面黑屏怎么办?

在使用Windows远程桌面连接另一台电脑时,用户经常会遇到Windows远程桌面黑屏的问题。那么,该如何有效地解决Windows远程桌面黑屏的问题呢?遇到远程桌面连接黑屏的问题时,可以通过在本地组策略编辑器中禁用WDDM图形显示驱动来解决。…...

计算机视觉|超详细!Meta视觉大模型Segment Anything(SAM)源码解剖

一、引言 在计算机视觉领域,图像分割是一个核心且具有挑战性的任务,旨在将图像中的不同物体或区域进行划分和识别,广泛应用于自动驾驶、医学影像分析、安防监控等领域。Segment Anything Model(SAM)由 Meta AI 实验室…...

【不动产登记全解析】范围、内容与不予登记的情形

在现代经济社会中,不动产作为重要的资产形式,其权利的确立与流转离不开规范的登记制度。今天,我们就来深入探讨不动产登记的三大核心议题:登记的广泛范围、登记簿上的必备记载事项,以及在哪些情况下不动产登记将不会被…...

机器学习之距离度量方法

常见的距离度量方法及相关函数、图示如下: 1. 欧几里得距离(Euclidean Distance) 函数公式:对于两个 ( n ) 维向量 ( x = ( x 1 , x 2 , ⋯   ,...

2340单点修改、区间查询

2340单点修改、区间查询 ⭐️难度:中等 🌟考点:线段树 📖 📚 import java.util.Scanner;public class Main {static int N 100010;static int n;static int[] c new int[N];static int lowbit(int x){ // 求loub…...

Go语言 vs Java语言:核心差异与适用场景解析

在当今的软件开发领域,Go(Golang)和Java都是备受关注的后端开发语言。尽管二者都能构建高性能服务,但它们在设计哲学、语法特性和应用场景上存在显著差异。本文将从多个维度对比这两种语言,帮助开发者更好地理解它们的…...

18 | 实现简洁架构的 Handler 层

提示: 所有体系课见专栏:Go 项目开发极速入门实战课;欢迎加入 云原生 AI 实战 星球,12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力(聚焦于 Go、云原生、AI Infra);本节课最终…...

谷歌Gemma 3:开启AI新纪元的强大引擎

摘要 谷歌公司今日宣布推出最新版本的人工智能模型——Gemma 3。该模型基于Gemini AI技术,是继一年前两款“开放”Gemma AI模型后的进一步发展。Gemma 3以其卓越性能著称,能够在单个GPU上运行,成为迄今为止最强大的AI模型之一。这一技术升级标…...

【Java项目】基于JSP的电子商城系统

【Java项目】基于JSP的电子商城系统 技术简介:采用JSP技术、B/S结构、MYSQL数据库等实现。 系统简介:该电子商城系统包括用户、医生和管理员。其主要功能包括管理员:个人中心、用户管理、医生管理、药品信息管理、线上诊疗管理、医生信息管理…...

双 Token 无感刷新机制在前后端分离架构中实现

在前后端分离的架构中,双 Token 无感刷新是一种常见的身份验证机制,用于在 Access Token 过期时,通过 Refresh Token 自动获取新的 Access Token,从而避免用户频繁登录。 1. 双 Token 无感刷新的核心流程 1.1 核心流程 用户登录&…...

Linux中的基本指令(下)

目录 mv指令 more指令 less指令 head指令 tail 指令 继续理解文件 重定向和追加重定向操作 理解管道 find指令 whereis 指令 bc指令 uname ‒r指令 grep 指令 关机 扩展命令 zip/unzip 指令 tar指令 关于rzsz 系统间的文件互传 接上! mv指令 m…...

电子电气架构 --- 智能电动汽车概述

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人生是一场骗局,最大的任务根本不是什么买车买房,也不是及时行乐,这就…...

Unity | 工具类:消息管理器-延迟分发

目录 一、消息管理器 二、获得新装备 三、UI面板创建 消息管理器除了简单的订阅(Subscribe)、取消订阅(Unsubscribe)操作以外,还需处理延迟分发(Dispatch)的情况。 (即时处理可参考:Unity | 工具类-利用事件系统进行业务串通-CSDN博客&…...

医院本地化DeepSeek R1对接混合数据库技术实战方案研讨

1. 引言 Deep SEEK R1是一个医疗智能化平台,通过本地化部署实现数据的安全性和可控性,同时提供高效的计算能力。随着医疗信息化的迅速发展,各种数据源的增加使得医院面临更多复杂的挑战,包括如何处理实时监测数据、如何进行大数据环境下的复杂查询以及如何整合多模态数据等…...

GPU加速的国密SM2算法实现

目录 GPU加速的国密SM2算法实现一、前言二、国密SM2算法概述2.1 国密SM2算法背景2.2 SM2的数学基础2.3 SM2数字签名流程三、GPU加速在SM2算法中的应用3.1 高性能运算需求3.2 GPU加速优势3.3 加速实现思路四、基于Python的SM2算法实现与GPU加速4.1 算法模块设计4.2 主要数学公式…...

《UE5_C++多人TPS完整教程》学习笔记35 ——《P36 武器类(Weapon Class)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P36 武器类(Weapon Class)》 的学习笔记,该系列教学视频为计算机工程师、程序员、游戏开发者、作家(Engineer, Programmer, Game Developer, Author) Stephen …...

Linux——Shell运行原理以及Linux权限

目录 1. Shell的运行原理 2. Linux中的权限问题 2.1 Linux权限的概念 2.1.1 如何实现用户账号之间的切换 2.1.2 如何将普通用户添加到信任列表中 2.1.3 如何仅提升当前指令的权限 2.2 Linux权限管理 2.2.1 文件访问者的分类(人) 2.2.2 文件类型…...

SpringBoot注解驱动CRUD工具:spring-avue-plus

项目背景 作为一个后端小伙伴,最大的痛点就是写完的接口需要拥有一些可视化的页面去承载这些功能使用【如果是只给后端那么swagger也足够了,非后端有点呛】如果有专业前端去弄确实也快,但是小公司呀~~~ 学呗~妈呀,现在的前端也挺…...

Redis 数据持久化之AOF

AOF(Append Only File) 以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换…...

API调试工具的无解困境:白名单、动态IP与平台设计问题

引言 你是否曾经在开发中遇到过这样的尴尬情形:你打开了平台的API调试工具,准备一番操作,结果却发现根本无法连接到平台?别急,问题出在调试工具本身。今天我们要吐槽的就是那些神奇的开放平台API调试工具,…...

git commit messege 模板设置 (规范化管理git)

配置方法 git config --global core.editor vim (设置 Git 的默认编辑器为 Vim)在用户根目录下(~),创建一个.git_commit_msg文件,然后把下面的内容拷贝到文件中并保存。 [version][模块][类型]{解决xxx问题…...

串口通信ASCII码转16进制及C#串口编程完整源码下载

在工业自动化、嵌入式系统及物联网以行业中,串口编程非常重要。 串口编程,重点在于串口数据通信和数据处理。 在C#中,System.IO.Ports命名空间提供了SerialPort类,用于实现串口通信。 串口程序的开发主要包括以下几点 1.引用命…...

第十一届蓝桥杯单片机国赛

什么?4T模拟赛和省赛做起来轻轻松松?不妨来挑战一下第十一届国赛,这一届的国赛居然没考超声波、串口通信!只要你正确地理解了题目的意思,规避出题人挖的坑,拿个国一轻轻松松。 附件:第十一届蓝桥…...

Ateme在云端构建可扩展视频流播平台

Akamai Connected Cloud帮助Ateme客户向全球观众分发最高质量视频内容。 “付费电视运营商和内容提供商现在可以在Akamai Connected Cloud上通过高质量视频吸引观众,并轻松扩展。”── Ateme首席战略官Rmi Beaudouin ​ Ateme是全球领先的视频压缩和传输解决方案提…...

QT系列教程(20) Qt 项目视图便捷类

视频连接 https://www.bilibili.com/video/BV1XY41127t3/?vd_source8be9e83424c2ed2c9b2a3ed1d01385e9 Qt项目视图便捷类 Qt项目视图提供了一些便捷类,包括QListWidget, QTableWidget, QTreeWidget等。我们分别介绍这几个便捷类。 我们先创建一个Qt …...

【最后203篇系列】014 AI机器人-1

说明 终于开张了,我觉得AI机器人是一件真正正确,具有商业价值的事。 把AI机器人当成一笔生意,我如何做好这笔生意?一端是业务价值,另一端是技术支撑。如何构造高质量的内容和服务,如何确保技术的广度和深度…...

cfi网络安全 网络安全hcip

目录 RIP (路由信息协议) 算法 开销 版本 开销值的计算方式 RIPV1和RIPV2的区别 RIP的数据包 Request(请求)包 Reponse(应答)包 RIP的特征 周期更新 RIP的计时器 1,周期更新计时器 2,失效计时器 3,垃圾回收计时器 RIP的核心思…...

HTML 基础

一、HTML 基本结构 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>页面标题</title> </head> <body><!-- 可见内容区域 --> </body> </html><!DOCTYPE html>&#xff1a;声明…...

数据结构与算法:归并排序

目录 归并排序的基本思想 归并排序的特性总结 代码 归并排序的非递归版 归并排序的基本思想 归并排序是建立在归并操作上的一种有效的排序算法。改算法是采用分治法的一个非常典型的应用。将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff1b;即先使每个子序列…...

Tweak Power:全方位电脑系统优化的高效工具

在日常使用电脑时&#xff0c;系统性能的下降、垃圾文件的堆积以及硬盘的老化等问题常常困扰着用户。为了提升电脑性能、优化系统运行&#xff0c;许多人会选择系统优化工具。然而&#xff0c;国内一些系统优化软件常常因为广告过多或功能冗杂而让人望而却步。此时&#xff0c;…...