连思鑫的博客
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •   
  •   

【一周一算法】第二周:选择排序与插入排序

🧮 一周一个算法 · 第 2 周 选择排序与插入排序 —— 从“挑选”与“插入”看排序的两种哲学 “冒泡排序靠交换相邻元素逐步推进, 选择排序靠挑选最值一步到位, 插入排序靠不断调整插入位置, —— 三者合称:排序算法的三剑客。” 🧭 一、引言:为什么还要研究 O(n2)O(n^2)O(n2) 算法? 很多人觉得这些算法“太简单”或“太慢”,但实际上—— 它们是后续所有排序算法的核心雏形
2025-10-21
一周一算法
#算法 #C++ #选择排序 #插入排序

【一周一算法】第一周:冒泡排序思考与练习详解

冒泡排序思考与练习详解 🧠 思考题解答 1. 如果要对 10000 个元素排序,冒泡排序大约需要比较多少次? 解答: 根据冒泡排序的数学原理,最坏情况下(完全逆序)的比较次数为: n(n−1)2=10000×99992=49,995,000 次\frac{n(n-1)}{2} = \frac{10000 \times 9999}{2} = 49,995,000 \text{ 次} 2n(n−1)
2025-10-18
一周一算法
#C++ #算法解答 #冒泡算法

【一周一算法】第一周:冒泡算法

🧮 一周一个算法 · 第 1 周 冒泡排序(Bubble Sort)——最温柔的排序算法 “算法世界的 Hello World” —— 从冒泡排序开始,理解算法的核心:有序化的思想 + 复杂度的度量 🧭 一、算法引入:从“气泡上浮”说起 想象你有一列数字,它们像一串气泡。 每次比较相邻的两个,如果前一个更“大”,那它就“上浮”到后面。 经过一轮比较,最大的数就会被“冒泡”到最末尾。 重复
2025-10-18
一周一算法
#算法 #C++ #冒泡算法

LIBLSX - 轻量级 C++ 跨平台工具库

LIBLSX - 轻量级 C++ 跨平台工具库 LIBLSX 是一个轻量级、跨平台的 C++ 工具库,旨在为开发者提供高效且易用的基础组件。当前已开发完成 线程管理(Thread)、数据通信(DataTransfer)、内存管理(Memory)、锁管理(LockManager) 和 日志系统(Logger) 五大核心模块。 项目地址:LIBLSX Github 功能特性 1. Thread 模
2025-07-06
C++开源项目
#开源项目 #C++跨平台工具库

[已验证]基于HAL库可迁移通用gpio模拟I2C实现

[已验证]基于HAL库可迁移通用gpio模拟I2C实现 引言 之前写过一版,但没有经过工程验证,而今年在实际工程领域确实要用到gpio模拟I2C的功能实现,我在原有的基础上调试,修复bug才有了今天这篇博客。下述源码已经过实际开发工程验证,可迁移使用。话不多说,在介绍一遍吧。。 I2C协议简介 I2C是一种多主多从的串行通信协议,具有简单、灵活的优点。它使用两根信号线:SDA(数据线)和SCL(时
2024-10-23
stm32学习笔记
#gpio #i2c #gpio模拟i2c #stm32

使用 Bash 脚本绑定 IRQ 到指定 CPU

使用 Bash 脚本绑定 IRQ 到指定 CPU 在现代操作系统中,合理地管理中断请求(IRQ)可以显著提升系统性能。本文将介绍如何使用 Bash 脚本将特定的 IRQ 绑定到指定的 CPU,确保系统资源的高效利用。 脚本概述 这个 Bash 脚本的功能是检查输入的 IRQ 号和 CPU 号,验证 IRQ 是否存在,并设置其 smp_affinity,以便将该中断分配给特定的 CPU。 脚本实现
2024-10-23
Bash脚本
#中断 #irq #irq绑定cpu

使用STM32F407 GPIO模拟SMI时序对PHY设备进行读写配置

使用STM32F407 GPIO模拟SMI时序对PHY设备进行读写配置 在嵌入式系统中,常常需要通过SMI(Serial Management Interface)来配置PHY(Physical Layer Device)设备。SMI协议包括MDIO(Management Data Input/Output)和MDC(Management Data Clock)信号,通过这两个信号与PHY设备进行
2024-06-30
STM32 > SMI
#STM32 #GPIO #SMI

使用 Rust 封装 UDP 和 TCP 套接字

使用 Rust 封装 UDP 和 TCP 套接字 摘要: 在网络编程中,UDP 和 TCP 套接字是常用的通信方式。本文介绍了如何使用 Rust 语言封装 UDP 和 TCP 套接字,并提供了示例代码演示了如何发送和接收数据。 引言: Rust 是一种安全、并发、实用的系统编程语言,它提供了强大的网络编程能力。在网络编程中,UDP(User Datagram Protocol)和TCP(Trans
2024-03-09
Rust语言
#UDP/TCP #Rust语言

基于Linux的GPIO工具类的实现原理

基于Linux的GPIO工具类的实现原理 导言: 在嵌入式系统中,Linux提供了丰富的GPIO接口,用于与外部设备进行通信。为了方便在应用程序中控制GPIO,可以通过封装一个GPIO工具类来简化操作。本文将详细介绍基于Linux的GPIO工具类的实现原理,包括GPIO的导出、方向设置和值设置等基本操作。 GPIO工具类的原理 在Linux系统中,GPIO被视为文件系统中的特殊文件,可以通过文件操
2024-02-24
C++工具类
#gpio #C++工具类 #Linux

利用C++实现彩色打印类,助力通信协议调试

利用C++实现彩色打印类,助力通信协议调试 在软件开发过程中,调试是一个至关重要的环节。特别是在处理通信协议等涉及到复杂数据交互的场景下,清晰地标识特殊字段对于快速定位问题、排查错误至关重要。本文将介绍如何利用C++编程语言,实现一个彩色打印类,用于在调试过程中标识特殊字段,助力通信协议等功能的调试。 为什么需要彩色打印类? 在调试通信协议等复杂软件场景中,经常会遇到需要区分不同类型信息的情况。例
2024-02-24
C++
#C++ #C++通用类 #调试
12345…15

搜索

版权所有者:连思鑫 Fluid
总访问量 次 总访客数 人