logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

算法基础篇:(十二)基础算法之倍增思想:从快速幂到大数据运算优化

摘要:本文深入探讨了倍增思想在算法中的应用,通过二进制分解和分步处理将时间复杂度从O(n)优化到O(logn)。重点讲解了快速幂算法(a^b mod p)和大整数乘法取模(a×b mod p)的实现原理与C++代码,包括递归和迭代两种版本。文章还介绍了倍增思想在RMQ、LCA等高级场景的应用,并提供了处理数据溢出的"快速乘"优化方案。通过数学原理、案例分析和代码实现,帮助读者掌

文章图片
#算法#大数据
【算法基础篇】(二十四)数据结构之并查集拓展:从 “单一关系” 到 “复杂约束”,这篇带你解锁进阶玩法!

本文介绍了并查集的两种进阶应用:扩展域并查集和带权并查集。扩展域通过为元素创建多个"域"(如朋友域、敌人域)来处理离散状态关系,适用于朋友-敌人、食物链等多关系问题;带权并查集则通过维护节点间的量化权值(如距离、差值)来处理连续关系,适用于距离计算、种类差等场景。文章详细讲解了两者的实现原理、核心代码和典型应用(如洛谷P1892团伙、P2024食物链、P1196银河英雄传说),

文章图片
#数据结构#蓝桥杯
【从零开始的Qt开发指南】(二十二)Qt 音视频开发宝典:从音频播放到视频播放器的实战全攻略

本文详细介绍了Qt框架下的音视频开发技术,涵盖音频和视频两大模块。在音频开发部分,讲解了轻量级音频播放类QSound(仅支持WAV格式)和高级音频播放类QMediaPlayer(支持多种格式)的使用方法,并提供了按钮音效和多功能音频播放器的完整实现案例。视频开发部分重点阐述了QMediaPlayer与QVideoWidget的协同工作方式,详细说明了完整视频播放器的开发流程,包括文件选择、播放控制

文章图片
#qt#音视频#开发语言
数据结构(C语言篇):(七)双向链表

本文详细介绍了双向链表的数据结构实现,包括核心概念、函数实现和性能分析。文章首先阐述了带头双向循环链表的结构特点,重点讲解了各功能函数的实现逻辑:LTBuyNode()创建节点、LTInit()初始化链表、LTPushBack()/LTPushFront()插入操作、LTPopBack()/LTPopFront()删除操作等关键函数。每个函数都配有图示分析和代码实现,特别强调了指针连接的更新机制。

文章图片
#数据结构#c语言#链表
【Linux系统编程】(四十二)吃透线程互斥!从原理到实战,手把手教你玩转 Linux 下的互斥锁

本文系统讲解了线程互斥的核心概念与实现方法。首先阐述了共享资源、临界区、原子性等基础概念,通过未加互斥的售票系统案例直观展示多线程竞争问题。重点介绍了Linux下互斥量(mutex)的使用方法,包括初始化、加锁解锁及销毁操作,并基于硬件原子指令解析了其实现原理。随后提出C++的RAII风格封装方案,通过LockGuard类实现自动加锁解锁,避免死锁风险。最后总结了死锁预防、性能优化等常见问题及解决

文章图片
#开发语言#linux#操作系统
【Linux系统编程】(三十)深入进程地址空间与动态链接:动态库加载的底层逻辑揭秘

本文深入解析Linux动态库(.so)的加载与调用机制。首先介绍了进程虚拟地址空间的基础概念,说明动态库通过mmap映射到共享库区实现多进程共享。其次详细讲解了动态链接的核心技术:位置无关代码(PIC)确保库可加载到任意地址,全局偏移表(GOT)和过程链接表(PLT)实现延迟绑定函数地址。文章还提供了动态库查找路径配置方案,对比了动静态链接的优缺点及适用场景,并通过实战演示验证了相关原理。最后总结

文章图片
#linux#操作系统
【Linux系统编程】(二十九)深度解密静态链接:从目标文件到可执行程序的底层魔法

本文深入解析了C/C++程序开发中的静态链接技术。文章通过实际案例演示了静态链接的三个核心步骤:符号解析(解决未定义函数/变量引用)、节合并(整合代码和数据块)和地址重定位(修正函数调用地址)。详细介绍了静态库的制作和使用原理,包括按需提取特性。通过ELF文件分析工具(readelf、objdump)展示了目标文件和可执行程序的结构差异,揭示了静态链接对ELF文件的修改过程。文章还对比了静态链接的

文章图片
#linux#操作系统#文件系统
C语言进阶:(一)深度剖析函数栈帧:从创建到销毁

本文深入剖析了C语言中函数栈帧的底层机制,通过VS2019调试环境下的汇编指令分析,详细讲解了函数栈帧从创建到销毁的全过程。文章首先介绍了栈和函数栈帧的基本概念,以及关键寄存器和汇编指令的作用。随后以加法函数调用为例,逐步拆解了main函数和Add函数栈帧的创建、参数传递、局部变量存储、返回值传递和栈帧销毁等关键环节。通过分析揭示了未初始化局部变量随机值的成因、函数参数传递顺序、形参与实参的关系、

文章图片
#c语言
C语言基础:(二十五)预处理详解

本文系统介绍了C语言预处理指令的核心知识点,包括宏定义、条件编译和文件包含三大机制。重点讲解了#define定义常量和宏的语法规则、使用陷阱及解决方案,分析了带副作用参数的宏风险,对比了宏与函数的优缺点。文章还详细解析了#和##运算符、条件编译指令的多种形式、头文件包含策略及重复包含问题,并列举了#error、#pragma等特殊预处理指令的应用场景。

文章图片
#c语言#开发语言
【Git原理与使用】(四)Git 远程操作与标签管理全解析:从分布式协作到版本标记最全攻略

本文全面介绍了Git远程协作与标签管理的核心操作。首先讲解了分布式版本控制系统与集中式的本质区别,强调Git本地仓库的独立性。然后详细演示了远程仓库创建、克隆(HTTPS/SSH协议)、推送(push)与拉取(pull)的全流程操作,包括常见问题解决方法。接着介绍了.gitignore文件配置和命令别名优化等实用技巧。最后重点讲解了标签管理,包括创建轻量/附注标签、推送远程标签及版本发布规范。

文章图片
#git#分布式#运维
    共 39 条
  • 1
  • 2
  • 3
  • 4
  • 请选择