- 博客(138)
- 资源 (2)
- 收藏
- 关注
原创 简单项目 esp8266 红外接收 2025年6月24日21:35:32
这个程序上传之后 红外遥控器 一个按钮一个按钮 通过串口 获取 十六进制码。
2025-06-24 21:57:06
403
原创 C++ 学习 图形编程 2025年6月17日20:23:40
这是GCC 程序包 下载解压之后需要配置系统环境变量 例如C:\MinGw64\mingw64\bin。新建一个文件夹 把SFML解压到文件夹内部 配置系统变量(不配置好像也可以!按图操作 点击这个选项 会在文件夹中自动生成 vscode文件夹和对应文件。这是SFML 库包 也需要配置系统变量环境 C:SFML\bin。测试程序 main SFML3.0新代码风格。提供简单易用的2D图形、音频和网络功能。使用到的IDE(VS CODE)支持2D图形、音频、输入设备等。更高效但学习曲线更陡峭。
2025-06-18 19:01:25
1011
1
原创 C++ 学习 网络编程 2025年6月17日19:56:47
C++网络编程允许开发者创建能够通过网络进行通信的应用程序。,它会监听本地的8080端口,接受客户端连接,并进行简单的数据收发。# 编译服务器(假设保存为server.cpp):TCP(可靠连接)和UDP(无连接):客户端发送指令,服务器执行操作。:服务器接收客户端消息并回复。# 运行(两个终端分别执行):通过TCP可靠传输文件。:标识网络中的主机和服务。
2025-06-17 20:22:21
609
原创 C++ 学习 多线程 2025年6月17日18:41:30
功能工具头文件线程创建<thread>互斥锁std::mutex<mutex>条件变量异步任务std::async<future>原子操作<atomic>线程局部存储语言内置。
2025-06-17 19:55:41
688
原创 C++ 学习 C++ I/O流 2025年6月17日17:02:34
/ friend 友元声明(可访问 private 成员)// 使用// 输出: (1, 2)// 输入: 3 4 → p={3,4}关键点:friend 声明:使这个函数能访问 Point 的 private 成员(虽然这里成员是 public,但习惯上仍用 friend)返回 ostream&:支持链式调用(如 cout << p1 << p2)operator<< 是 输出流运算符,通常用于自定义类型的输出格式化。
2025-06-17 18:39:40
1095
原创 算法 学习 拓展内容 2025年6月16日17:57:35
对第i个元素(i > k),以k/i的概率替换 reservoir 中的随机元素。:从数据流中随机抽取k个样本,保证每个元素被选中的概率相等。:数据从输入到输出的处理过程,强调顺序和依赖关系。:系统间接口调用(如RESTful API)。:分布式、缓存策略(如设计Twitter)。:实时计算(如Apache Kafka)。:类图、继承/组合(如设计停车场系统)。:MongoDB(文档型,高扩展性)。:命令行交互(如Linux终端)。:图形界面事件驱动(如点击按钮)。:MySQL(关系型,强一致性)。
2025-06-16 18:02:35
882
原创 算法 相关数学内容 学习 2025年6月16日13:03:25
表示随机试验结果的变量(如掷骰子的点数 X∈{1,2,3,4,5,6}X∈{1,2,3,4,5,6})。
2025-06-16 16:50:25
705
原创 算法 学习 动态规划 2025年6月16日12:35:17
(VV 是顶点数),确保所有可能的最短路径都被找到。,如果仍有边可被松弛,说明存在负权环。:当前处理到第几位(从最高位开始)。:是否有前导零(影响某些约束条件)。:是否受当前数位的限制(如数字。:额外状态(如前一位是否是。:按位处理,从高位到低位。其他所有点的距离初始化为。
2025-06-16 13:02:20
518
原创 算法 学习 模拟算法 2025年6月16日12:02:17
一种通过的步骤或过程来解决问题的算法。它通常按照问题的描述或规则,一步步地重现问题的场景,最终得到解决方案。
2025-06-16 12:23:42
296
原创 算法 学习 双指针 2025年6月16日11:36:24
使用两个指针协同遍历数组/链表,降低时间复杂度(通常从O(n²)优化到O(n))维护一个动态变化的窗口,用常数时间更新窗口信息。用不同速度移动的两个指针解决链表/数组问题。
2025-06-16 11:47:58
336
原创 算法 学习 排序 2025年6月16日10:25:37
相邻元素两两比较,大的往后移动:教学使用,实际应用较少(效率低):O(n²)(最坏和平均),O(n)(最好,已排序时)
2025-06-16 11:35:48
337
原创 算法 学习 枚举 2025年6月14日16:14:40
也称为线性查找,它按照数据存储的顺序依次检查每个元素,直到找到目标或遍历完所有元素。实现代码。
2025-06-16 10:23:12
394
原创 数据结构 学习 图 2025年6月14日 12点57分
强连通:在有向图中,如果从顶点u到v有一条路径,且从v到u也有一条路径,则称u和v强连通强连通分量:有向图的极大强连通子图关节点(割点):删除该顶点会增加图的连通分量数量桥(割边):删除该边会增加图的连通分量数量双连通分量:不含关节点的极大连通子图欧拉回路:图中经过每条边恰好一次并回到起点的闭合路径欧拉路径:图中经过每条边恰好一次的路径(不一定闭合)欧拉图:存在欧拉回路的图半欧拉图:存在欧拉路径但不存在欧拉回路的图哈密尔顿路径:经过图中每个顶点恰好一次的路径哈密尔顿回路:闭合的哈密尔顿路径(起点=终点)
2025-06-14 15:30:38
1018
原创 数据结构 学习 队列 2025年6月14日 11点22分
单调队列是一种特殊的队列数据结构,它保持队列中元素的单调性(单调递增或单调递减)。)原则,但与普通队列不同的是,循环队列的最后一个元素连接回第一个元素,形成一个环形结构。单调队列通过维护数据的单调性,将原本O(nk)的滑动窗口问题优化到O(n),是解决一类极值问题的有效工具。双向队列是一种非常实用的数据结构,它提供了比普通队列和栈更灵活的操作方式,在算法设计和系统开发中都有广泛应用。它结合了栈和队列的特性,提供了更灵活的数据操作方式。:既可以作为队列使用(FIFO),也可以作为栈使用(LIFO)
2025-06-14 12:36:40
1147
原创 数据结构 学习 栈 2025年6月14日 11点09分
单调栈通过维护数据的单调性,将原本O(n²)的暴力解法优化到O(n),是解决一系列区间极值问题的利器。掌握单调栈的关键在于理解问题本质并选择合适的单调性方向。:考虑数组边界情况,可添加哨兵元素简化逻辑。:有时需要先从左到右扫描,再从右到左扫描。:根据问题决定栈内存储元素值还是索引。:根据问题需求选择递增栈还是递减栈。:栈内元素从栈底到栈顶保持递增顺序。:栈内元素从栈底到栈顶保持递减顺序。找下一个更大元素 → 单调递减栈。找下一个更小元素 → 单调递增栈。只需要比较值 → 存储值。寻找下一个更大/更小元素。
2025-06-14 11:18:20
382
1
原创 数据结构 学习 链表 2025年6月14日08点01分
它主要用于解决如数独、N皇后等约束满足问题,其核心思想是使用双向十字循环链表来高效实现回溯算法中的覆盖与恢复操作。一种概率性数据结构,它允许在有序序列中进行快速的搜索、插入和删除操作,平均时间复杂度为O(log n)。它由William Pugh于1989年提出,结合了链表和二分查找的优点。每一高层都是下一层的"快速通道",元素以一定概率出现在更高层。前进指针数组(forward),指向各层的下一个节点。// 头部删除 尾部删除 指定位置删除。只有一个指向下一个节点的指针。节点链接:左、右、上、下。
2025-06-14 11:08:08
424
原创 数据结构 线性表 学习 2025/6/12 21点27分
元素之间具有顺序关系(除首尾元素外,每个元素有且仅有一个直接前驱和一个直接后继)线性表是数据结构的基础,理解它对学习更复杂的数据结构非常重要。存储线性表的数据元素,通过指针连接元素。逻辑上相邻的元素物理位置不一定相邻。:受限的线性表(只能在端点操作)逻辑上相邻的元素物理位置也相邻。:用数组实现的链表(游标实现)依次存储线性表中的数据元素。随机访问(通过下标直接访问):每个节点包含前驱和后继指针。插入/删除需要移动大量元素。插入/删除不需要移动元素。元素具有相同数据类型。
2025-06-13 00:52:56
383
原创 数据结构 散列表 学习 2025年6月12日15:30:48
通过哈希函数将键(key)映射到存储位置,从而实现快速的插入、删除和查找操作。语言中的字典/映射结构(如Python的dict,Java的HashMap)哈希表是现代编程中最重要的数据结构之一,几乎所有编程语言都提供了内置实现。链接地址法 每个桶使用链表 储存多个元素。开放寻址法 寻找下一个可用位置。查找数据时 计算哈希值 直接访问对应位置。插入数据时 计算哈希值 确定储存位置。不支持有序遍历(除非使用特殊实现):存储数据的容器,通常是一个数组。:不同键映射到相同哈希值的情况。缓存实现(如Redis)
2025-06-12 18:18:19
450
原创 编译原理 学习 2025年6月10日11:17:54
根据语法规则 构建抽象语法树(AST) 检查程序结构 是否正确。Windows安装的工具需要在原代码调用的前提上添加 win_ 这样才会识别。将高级编程语言编写的源代码转换成机器可执行的代码(二进制或汇编代码)分解源代码为单词 识别 其中。如果遇到运行问题可把以下地址添加到PATH(环境变量))静态分析工具(检测代码风格和漏洞 如:ESLint)领域特定语言(DSL快速构建小型语言的处理工具)删除冗余代码、循环优化等技术提升程序性能。编译器开发(GCC.LLVM等工具链实现)关键字 变量名 运算符。
2025-06-10 23:07:40
991
原创 操作系统 学习 2025年6月10日09:40:48
操作系统(Operating System,OS)管理计算机软件硬件资源的系统软件给用户和应用程序提供。
2025-06-10 10:22:05
187
原创 C语言 学习 静态与动态库构建 2025年6月10日08:53:59
符号冲突运行时才会暴露,版本管理通过后缀名(例:libfoo.so.1.2) 运行时被加载 构建时需要位置 和代码无关(PIC)在运行时才被加载,多个程序可共享同一库文件。优点是节省磁盘和内存空间,更新库无需重新编译程序,但需确保运行时环境存在正确的库版本。动态库和静态库的核心作用是将代码以二进制形式封装,便于代码复用、模块化开发和管理。动态库:替换库文件即可(需保持ABI兼容)。动态库:内存中仅加载一份,共享使用。动态库:存在加载和符号解析的开销。静态库:每个程序包含库的副本。
2025-06-10 09:38:02
309
原创 C语言 学习 C程序的内存模型 2025年6月10日08:55:13
调试时使用!确保每次malloccalloc后均有对应的free,复杂逻辑可通过注释标记释放位置。
2025-06-10 08:52:10
422
原创 C语言 学习 模块化编程 2025年6月9日19:39:17
优点:便于维护 修改单一功能小程序 只需要重新编译该小程序文件即可。把一个大型程序 分成 多个单一功能的小程序 由主函数调用。getText.c 函数实现。getText.h 函数声明。通过 预留的接口 实现互通。main.c 主程序中调用。.c文件中实现函数逻辑。
2025-06-10 00:07:42
381
原创 C语言 学习 宏命令(预处理) 2025年6月9日14:41:39
define 宏名 替换内容 //无类型检查 简单文本替换#define min 1234 //创建一个宏定义#ifdef min //判断宏定义是否存在 存在输出提示字#endif#undef min //取消一个宏定义#ifdef min //判断宏定义是否存在 存在输出提示字#endif2.#include 指令(ai提供)场景描述引入标准库函数如分离项目结构将函数声明放入.h,实现放入.c模块化开发各个模块独立编写.h和.c宏定义共享将公共宏定义放在.h。
2025-06-09 19:17:39
299
原创 C语言 学习 文件操作(开关,读写,定位,大小)操作 2025年6月8日12:19:24
操作完成后 一定要关闭 文件!和读取结构体数据(文本格式)结构体数据(文本格式)
2025-06-09 14:34:51
1048
原创 C语言 学习 数组(一维数组,多维数组,字符数组,字符串) 2025年6月8日09:21:39
数组下标不能越界(否则行为未定义)数组名arr可以看作指向首元素的指针。
2025-06-08 12:17:22
179
原创 STM32 Keil工程搭建 (手动搭建)流程 2025年5月27日07:42:09
startup_stm32f10x_md.s # 用于 Medium-density 系列(如 STM32F103xB/C),Flash = 64~128KB。STM32F10x标准外设库(StdPeriph_Lib)发行说明。STM32F10x标准外设库(StdPeriph_Lib)使用手册。由于库版本比较低,所以会出现关于 core_cm3.c 代码报错。8. 在MyProjects 中创建 main.c。新建项目,选择手动建立的 文件夹。6. 按需求选择对应的启动文件。选择魔法棒 设置关键路径。
2025-05-27 10:02:37
1360
原创 关于AT+CIPSEND 透传模式下失效解决办法2025/5/25
常见场景为:AT tcp服务 打开透传后 该指令 无效.报错等。设置 单链接 -> 链接服务器 ->设置透传模式->进入直连。
2025-05-25 01:52:31
420
原创 和风天气 API 获取天气预报 2025/5/21
打开 fxLink 网页 https://www.qweather.com/weather/"windDir": "东风","text": "晴",北京为例子,返回结果如下。URL请求格式为GET。
2025-05-21 19:23:05
1349
原创 51单片机快速入门之 SPI通信 2025年4月29日09:26:32
SPI(Serial Peripheral Interface)通信是一种同步串行数据传输协议,主要用于嵌入式系统内部设备之间的通信。它由Motorola公司在2000年提出,广泛应用于微控制器、传感器、存储设备等之间的数据传输。
2025-04-29 10:03:51
724
原创 淘晶驰 屏幕 应用 之 esp8266/arduino 简约时钟 2025/3/12
字体: 数字用0 字符串(中文)用 1 设置 t0 font =0 t1 font=1。t0一个纯数字 t1一个文字显示。简单的2个文本框 设置好。
2025-03-12 16:07:31
350
原创 淘晶驰 屏幕 应用 之 esp8266/arduino 控制文本变化 2025/3/12
2.明白单字节数值,双字节数值,四字节数值,分别有什么区别,它们在内存中是什么样的储存方式,明白什么叫小端模式,什么叫大端模式,大小端数据之间如何转换。随便放一个文本即可 这里可以看见小字 t1 控制其变化 陶晶驰指令 t1.txt="文本"自定义协议,不按照淘晶驰字符串指令格式来发串口数据给屏幕,1.明白什么叫HEX,什么叫String,什么叫ASCII,分别什么关系,怎么转换。创建中文utf-8字库 并把其放到项目中。使用自定义的格式,需要把屏幕配置为。
2025-03-12 15:07:14
534
bin 图片修改 和查看工具 .bin文件 .bin图片
2024-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅