- 博客(68)
- 收藏
- 关注
原创 最小生成树
最小生成树(Minimum Spanning Tree, MST)是在一个带权无向连通图中,找到一个包含所有顶点的无环子图(即一棵树),使得子图中所有边的权值之和最小。问题往往表面上与图论无关,需要通过抽象和建模转化为图的最小生成树问题;其次,需要根据图的稠密程度选择合适的算法,稠密图适合Prim算法,稀疏图则更适合Kruskal算法
2026-02-25 13:31:19
441
原创 蓝桥杯算法练习
本文总结了蓝桥杯竞赛中多个经典算法题的解题思路和代码实现,包括K倍区间(利用前缀和余数统计) 分巧克力(二分查找最大边长) 密码脱落(转化为最长回文子序列问题) 冰雹数(模拟3n+1问题) 密文搜索(哈希表预处理) 饮料换购(模拟兑换过程) 三元组中心(暴力枚举判断) 音节判断(状态转换计数) 通电(最小生成树Prim算法) 全球变暖(DFS岛屿标记)
2026-02-13 14:40:22
1205
原创 组合查询(UNION)
组合查询是通过UNION或UNION ALL将多个SELECT语句的结果集合并。UNION会自动去重,适用于需要合并无重复数据的场景;UNION ALL直接合并所有结果,性能更好,适用于保留重复数据的情况。
2026-02-13 01:13:28
471
原创 联结(JOIN)
本文介绍了SQL中联结(JOIN)操作的基本概念与使用方法。主要内容包括:1)联结的定义与作用,即通过共同字段跨表组合数据;2)内联结(INNER JOIN)的三种写法及等值/非等值联结的区别;3)自联结的实现方式,即单表通过别名进行自我关联;4)外联结的类型(LEFT/RIGHT/FULL JOIN)及其保留不匹配行的特性。
2026-02-06 01:02:52
1382
原创 蓝桥杯算法练习
本文汇总了蓝桥杯多个题目的解题思路与代码实现,包括油漆面积、分考场、合根植物、区间移位、填字母游戏、碱基、机器人塔、压缩变换、取球博弈和交换瓶子等题目。每个题目都提供了详细的算法分析和优化策略,如贪心算法、DFS回溯、并查集、记忆化搜索等。
2026-02-03 14:19:41
913
原创 分组数据【GROUP BY 与 HAVING的使用】
本文介绍了SQL中的分组操作,包括GROUP BY和HAVING子句的使用。GROUP BY用于创建分组,需遵循SELECT中非聚合列必须出现在GROUP BY中的规则,支持多列组合键分组。HAVING子句用于分组后筛选,与WHERE的区别在于:WHERE在分组前筛选行数据,不能使用聚合函数;而HAVING在分组后筛选分组结果,可以使用聚合函数。
2026-01-26 21:17:01
913
原创 动态规划DP【各种题型+对应LeetCode习题练习】
本文系统总结了背包问题、子序列问题、网格路径问题和股票买卖问题的动态规划解法。对于背包问题,详细介绍了0-1背包、完全背包等变种及其状态转移方程;在子序列问题中,讲解了LCS、编辑距离等经典问题的解法;网格路径问题包括不同路径及其变种;股票买卖问题则涵盖了单笔交易、多次交易、含冷冻期等多种情况。每种问题都给出了核心状态定义、转移方程和典型例题的代码实现,展示了动态规划在不同场景下的应用范式。
2025-12-31 19:37:12
1220
原创 蓝桥杯101 拉马车
本文使用STL容器实现纸牌游戏模拟。主要内容包括使用deque管理玩家手牌,使用vector管理桌面牌堆,支持压牌、截断等操作, 采用数组哈希(pos[128])快速查询牌面位置。游戏流程包含出牌、收牌、回合切换等步骤,重点处理了收牌时的逆序回收和状态更新,使用字符串编码游戏状态,结合unordered_set进行循环检测。
2025-12-29 21:21:43
962
原创 蓝桥杯103 日期问题
本文介绍了一个日期解析问题的解决方案。输入格式为两位数的a/b/c,需要处理三种可能的日期解释方式:yy/mm/dd、mm/dd/yy和dd/mm/yy。关键步骤包括:1)使用scanf读取输入;2)将两位数年份转换为四位数;3)验证日期合法性,考虑闰年情况;4)枚举三种可能的日期解释方式;5)对有效日期进行排序和去重;6)按yyyy-mm-dd格式输出结果。解决方案通过合理利用C++的pair结构和标准库函数,高效地完成了日期处理任务。
2025-12-17 18:59:07
1063
原创 WebSocket 实时聊天功能
本文介绍了基于SpringBoot和Vue的WebSocket聊天室实现方案。后端采用SpringBoot配置WebSocket端点,包含连接管理、消息广播等功能;前端使用Vue构建聊天界面,通过Vite代理解决跨域问题。文章详细说明了前后端代码结构,包括WebSocket配置类、聊天端点实现、Vite代理设置以及Vue组件封装。该方案实现了用户连接、断开管理和实时消息收发等功能,并提供了完整的代码示例,可作为WebSocket即时通讯应用的参考实现。
2025-12-17 17:26:15
1294
1
原创 蓝桥杯11 路径之谜
本文介绍了在网格中寻找满足行列配额约束的路径问题的解决方法。通过DFS回溯算法,结合行列配额约束、访问标记和路径记录,实现了有效搜索。重点讲解了剪枝优化策略,包括距离下界剪枝和奇偶性剪枝,以提升搜索效率。同时说明了如何保证输出字典序最小的解,通过将候选点按编号排序后优先尝试小编号节点。
2025-12-07 15:38:15
908
原创 Spring Boot 后端实现 WebSocket
本文介绍 Spring Boot 中 WebSocket 的实现的方法。首先需导入相关依赖,配置类启用 @ServerEndpoint 支持,创建 ChatEndpoint 类实现核心功能。详解 WebSocket 生命周期的 4 个注解方法,说明用 ConcurrentHashMap 管理在线用户 Session 的方式,以及群发、私聊消息的实现逻辑,并给出完整服务端代码、前端测试代码及功能测试步骤,帮助快速搭建简易聊天室。
2025-12-04 15:52:37
1164
原创 计算机网络应用层
应用层是网络体系最靠近用户的一层,负责定义应用进程间的通信规则。DNS作为分布式数据库系统,实现域名与IP地址的映射,采用层次化域名结构和四类服务器协同工作。FTP通过控制连接和数据连接实现文件传输,而TFTP则是简化的UDP版本。TELNET通过NVT格式实现远程终端访问。电子邮件系统由用户代理、邮件服务器和传输协议组成,SMTP负责发送邮件,POP3/IMAP用于接收邮件,采用"用户名@域名"的地址格式实现全球唯一标识。这些协议共同构成了互联网基础应用服务。
2025-11-15 11:55:48
1425
原创 数据挖掘概述
数据挖掘是综合多学科方法,从大规模数据中自动化发现模式、趋势和预测,以获得可解释知识支持决策。其核心过程为KDD,包括数据选择、清洗、集成、变换、挖掘、评估和表达。技术源于数据库演化、商业需求和技术进步,如人工智能和机器学习。随着大数据时代到来,面临规模、速度、多样性和价值挑战,应对策略包括分布式计算、流式挖掘和多模态融合。数据挖掘高于OLTP和OLAP,聚焦未知模式发现。
2025-11-14 11:03:34
1656
原创 传输控制协议TCP
TCP(传输控制协议)是一种面向连接、可靠的传输层协议,通过序号、确认、重传等机制保证数据传输的可靠性。它采用三次握手建立连接,通过滑动窗口实现流量控制,并使用慢启动、拥塞避免等算法进行拥塞控制。TCP报文首部包含端口号、序号、确认号、窗口大小等字段,支持全双工通信。连接释放采用四次挥手过程,并设置TIME-WAIT状态确保可靠关闭。
2025-11-11 13:54:53
891
原创 BFS & 图论【各种题型+对应LeetCode习题练习】
本文介绍了图论中的广度优先搜索(BFS)算法。BFS通过队列实现层次遍历,适用于无权图的最短路径问题。主要题型包括层次遍历;最短路径问题;图的连通性判断与拓扑排序。针对不同场景,讲解了标准BFS、多源BFS、双向BFS、Dijkstra算法(有权图)和0-1BFS(边权为0/1)等多种变体的实现方法。
2025-11-09 18:28:52
1010
原创 运输层协议概述及UDP
运输层是计算机网络体系中的关键层,位于网络层与应用层之间,主要负责为应用进程提供端到端的逻辑通信服务。该层协议主要分为无连接的UDP和面向连接的TCP两类:UDP协议简单高效但不可靠,适用于实时应用;TCP协议可靠但复杂,支持流量控制和拥塞控制。运输层通过端口号识别应用进程,实现复用与分用功能。其中,UDP采用简洁的8字节首部结构,通过伪首部计算校验和以保证数据完整性。运输层的核心价值在于实现主机间进程通信,同时屏蔽底层网络细节,为上层应用提供统一的通信接口。
2025-11-04 18:48:11
828
原创 互联网的路由选择协议
路由选择协议构建互联网导航图,分静态与动态两类。动态协议按层次划为IGP和EGP。RIP用距离向量、跳数≤15,30秒广播全表,简单但坏消息传得慢。OSPF以链路状态+Dijkstra算法,洪泛LSA建全网拓扑,分区域(骨干Area 0)降开销,支持负载均衡与认证。BGP用路径向量防环,AS-PATH记录历经自治系统,按LOCAL-PREF、最短AS路径、热土豆等规则选路,适配策略驱动的域间互联。
2025-11-04 08:51:00
1113
原创 WebSocket
WebSocket 是 HTTP 的升级版,通过一次 HTTP Upgrade 握手(101 Switching Protocols),将短连接变为全双工长连接,实现客户端与服务器随时互发消息。HTTP 是请求-响应、客户端主动,WebSocket 是双向主动、持续在线。握手后,数据以轻量帧传输,延迟低至毫秒,完美适配实时场景。
2025-11-04 08:48:57
711
原创 IP层转发分组 && ICMP && IPv6
本文讲解了IP层分组转发机制及相关协议。基于终点的转发通过目的IP地址与转发表的最长前缀匹配,确定下一跳路由,避免逐主机存储。主机先判断同网交付或经路由器转发,借助ARP解析MAC。ICMP提供差错报告与询问。IPv6以128位地址解决IPv4耗尽,支持灵活首部、单播/多播/任播,通过双协议栈与隧道技术平滑过渡。ICMPv6整合控制功能,提升效率。
2025-11-04 08:45:38
928
原创 网络层网际协议IP
网络层是计算机网络互连的核心,负责数据分组的传输与路由选择,提供面向连接的虚电路服务和无连接的数据报服务。核心协议IP是互联网的骨架,配合ARP、ICMP、IGMP等协议实现地址解析、差错报告和多播管理。虚电路服务可靠但成本高,数据报服务灵活但需上层保障可靠性。软件定义网络(SDN)通过分离控制与数据层面,实现集中管理和动态配置。IP地址采用分层结构,分为网络号和主机号,CIDR无分类编址提高地址利用率和路由效率。路由器通过多跳转发实现跨网络通信,ARP协议完成IP到MAC地址的映射。
2025-10-25 18:11:31
1119
1
原创 Redis 缓存模式与注解缓存
文章详细解析了@Cacheable、@CacheEvict和@CachePut三大注解的使用场景与区别,重点说明了TTL配置与JSON序列化在Redis中的实际应用。
2025-10-17 10:40:02
1016
原创 计算机网络数据链路层
本文围绕数据链路层展开系统讲解,先概述其核心功能与两种信道类型,剖析封装成帧、透明传输、差错检测三大基本问题。接着聚焦点对点协议 PPP,介绍其背景、应用场景、设计需求与组成结构,详解工作流程、帧格式、字节及零比特填充方式,并阐述工作状态与总体流程。最后探讨广播信道数据链路层,涵盖局域网拓扑结构、广播信道共享问题、以太网标准与网卡作用,深入解读 CSMA/CD 协议要点、争用期、退避算法、最小帧长及强化碰撞,还讲解了 MAC 层、硬件地址与以太网 MAC 帧标准。
2025-10-16 21:28:59
968
原创 HDFS 基础
本文系统地介绍了 HDFS(Hadoop Distributed File System) 的核心概念与常用命令,首先讲解了 NameNode、DataNode、Block、副本因子、安全模式、权限与配额等关键概念,让读者理解 HDFS 的数据管理机制。接着通过命令实战,演示了从创建目录(-mkdir)、上传文件(-put)、查看文件(-ls、-cat)、下载文件(-get)到修改权限与副本数(-chmod、-setrep)的完整流程。
2025-10-10 10:10:07
712
原创 计算机网络物理层
本文系统讲解了计算机网络物理层的核心知识,包括物理层的功能与特性、数据通信系统的基本组成与信号分类、码元与比特的关系、信道的通信方式与容量极限(奈奎斯特准则、香农公式)等基础内容。随后介绍了数字信号的编码与调制方式(NRZ、RZ、曼彻斯特、调幅/调频/调相),以及三大复用技术 FDM、TDM、STDM、WDM、CDM 的原理与区别。最后阐述了常见宽带接入技术,包括 ADSL、HFC 与光纤接入(FTTx、FTTH)
2025-10-04 22:58:04
1091
原创 Redis 持久化 & 内存模型
本文介绍了 Redis 的两大持久化方式与内存模型。持久化方面,RDB 通过 BGSAVE 在后台生成快照文件 dump.rdb,特点是体积小、恢复快,但可能丢失几秒数据;AOF 则将写命令顺序追加到日志文件,安全性更高,并提供 appendfsync 策略(always、everysec、no)控制刷盘频率。
2025-09-28 16:11:46
563
原创 WSL2搭建Hadoop伪分布式环境
本文介绍了在 WSL2 的 Ubuntu 环境下,如何从零搭建 Hadoop 单机伪分布式,并配合 Spring Boot 完成基础实验。读者可以快速在本地环境中体验 Hadoop 的基本功能,并为后续大数据实验与开发打下基础。
2025-09-26 11:35:11
980
原创 Redis 键空间 & 五大类型
本文介绍了 Redis 的键空间概念及五大基础数据结构(String、List、Hash、Set、Sorted Set),并说明了 SCAN、DEL、UNLINK 等键空间运维方式。在 Spring Boot 部分,通过引入 spring-boot-starter-data-redis 依赖,使用 StringRedisTemplate 封装的 API,对五大类型进行了增删查改操作演示,并提供了可直接访问的 REST 接口。
2025-09-25 21:41:14
806
2
原创 计算机网络体系结构
本文从历史背景入手,剖析 OSI 与 TCP/IP 的成败对比,并详解五层教学模型的优势。重点阐述分层原则、各层功能,以及实体/协议/服务框架。结合 TCP/IP 的沙漏结构,揭示数据传输全过程与 PDU/SDU 机制。
2025-09-21 18:02:36
1251
原创 Paxos协议
Paxos 协议是一种经典的分布式一致性算法,用来在节点可能宕机、网络可能乱序或丢包的情况下,保证多个副本对某个值达成唯一决议。其核心机制是 Proposer 提出带编号的提案,Acceptor 根据承诺规则决定是否接受,Learner 学习最终被多数接受的值。通过多数派交集 + 承诺单调 + 值继承,Paxos 能确保一旦某个值被选定,就不会被覆盖,从而保证安全性,同时在网络稳定时能继续推进达成共识。
2025-09-14 17:22:00
635
原创 计算机网络概述
计算机网络由节点与链路互联形成网络的网络,以TCP/IP为主。边缘由主机构成,核心由路由器进行分组交换,提供连通与共享。常见模式有C/S、P2P。关键指标含带宽、时延、吞吐量、RTT与利用率。
2025-09-14 17:04:52
1328
1
原创 分布式3PC理论
3PC(三阶段提交协议)是一种分布式事务提交协议,是 2PC(两阶段提交协议)的改进版本。它的目标是在分布式系统中,让多个参与节点就某个事务达成 “要么全体提交,要么全体回滚” 的一致决定,并尽量减少阻塞问题。
2025-09-05 15:11:03
1124
原创 DFS & 回溯【各种题型+对应LeetCode习题练习】
深度优先搜索(DFS)是一种遍历或搜索图、树等数据结构的算法。基本思想是尽可能深的搜索图的分支,当不能继续深度搜索时,回溯到上一个分支点,继续搜索其它未被访问过的路径。
2025-08-30 15:51:06
1321
原创 存储引擎 InnoDB
InnoDB 是 MySQL 默认的事务型存储引擎,支持 ACID 特性,采用聚簇索引组织表,提供行级锁与多版本并发控制,通过 Buffer Pool、Redo/Undo Log、双写缓冲等机制实现高并发、高可靠的数据管理,适合 OLTP 场景
2025-08-17 17:49:04
742
原创 详解 Netty Bootstrap
Netty 提供了两个引导类Bootstrap 和 ServerBootstrap。Bootstrap 用于客户端程序的启动和配置,ServerBootstrap 则专用于服务器端的启动流程。这两个引导类简化了 Netty 客户端或服务端组件的组装过程。
2025-08-07 17:41:42
1155
原创 Gossip 协议
Gossip 协议是一种类似谣言传播方式的通信协议,它允许分布式系统中的各个节点随机地、周期性地交换彼此已知的信息,从而最终实现全网一致的数据传播。
2025-08-02 18:46:17
1340
原创 链表【各种题型+对应LeetCode习题练习】
本文详解链表核心知识:对比数组差异,解析单 / 双 / 循环链表结构。通过 LeetCode 经典例题,拆解遍历、插入删除、反转、合并等操作,详解虚拟头节点、快慢指针等技巧。
2025-08-01 18:10:21
1720
原创 ADC 模数转换器
ADC(Analog-Digital Converter,模拟-数字转换器) 是一种重要的外设模块,用于将连续变化的模拟电压信号转换为数字信号,便于数字电路进行后续处理。
2025-07-30 17:46:25
1499
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅