数据结构与算法

发布订阅 - 确保用户注册成功发送短信通知

Spring事务监听机制—使用@TransactionalEventListener处理数据库事务提交成功后再执行操作 为什么使用     在项目中,往往需要执行数据库操作后,发送消息或事件来异步调** * 用其他组件执行相应的操作,例如:   用户注册后发送激活码;   配置修改后发送更新事件等。   但是,数据库的操作如果还未完成,此时异步调用的方法查询数据库发现没有数据,这就会出现问题。

详解数据结构之跳表

目录跳表的定义跳表的演化过程跳表的优化思路跳表如何保证效率跳表的时间复杂度跳表的空间复杂度跳表的查找跳表的插入跳表的删除跳表的模拟实现跳表与平衡搜索树及哈希表的对比跳表的定义跳表是由William Pugh(音译为威廉·普)发明的,最早出现于他在1990年发表的论文《Skip Lists: A Probabilistic Alternative to Balanced Trees》&

动态规划完整入门

动态规划完整入门教程 (Java版) 目录 什么是动态规划 核心概念 动态规划vs递归vs贪心 解题步骤 经典入门问题 常见问题类型 优化技巧 实战练习 什么是动态规划 简单理解动态规划(Dynamic Programming,简称DP)是一种通过把原问题分解为相对简单的子问题的方式来求解复杂问题的方法。核心思想:把已经解决过的子问题的答

【tcp】 TCP的连接重连&QUIC的连接迁移

TCP的连接重连之痛 一条 TCP 连接是由四元组标识的(源 IP,源端口,目的 IP,目的端口)。什么叫连接迁移呢?就是当其中任何一个元素发生变化时,这条连接依然维持着,能够保持业务逻辑不中断。当然这里面主要关注的是客户端的变化,因为客户端不可控并且网络环境经常发生变化,而服务端的 IP 和端口一般都是固定的。 比如大家使用手机在 WIFI 和 4G 移动网络切换时,客户端的 IP 肯定会发生变

【数据结构】常见的排序算法 -- 插入排序

🫧个人主页:  小年糕是糕手 💫个人专栏:《数据结构(初阶)》《C/C++刷题集》《C语言》 🎨你不能左右天气,但你可以改变心情;你不能改变过去,但你可以决定未来! 目录一、直接插入排序1.1、算法思想1.2

算法—穷举,爆搜,深搜,回溯,剪枝

目录全排列子集找出所有子集的异或总和再求和全排列 II电话号码的字母组合​编辑括号生成​编辑组合目标和组合总和字母大小写全排列优美的排列N 皇后有效的数独解数独单词搜索黄金矿工不同路径 III全排列思路:根据上图所画的决策树,我们只需要通过递归,前序遍历这颗决策树,然后把所有的路径都存起来,这些路径其实就是全排列。但是递归的过程

二叉搜索树·极速分拣篇」:用C++怒肝《双截棍》分拣算法,暴打节点删除Boss战!

【温馨提示,本文是理论文,手撕的文章还在加急处理中】前言:        程序员老张最近失业了。不是因为他写代码时把分号敲成了希腊字母“α”(虽然这确实发生过),而是因为他试图用一坨意大利面条——哦不,是一坨链表——给楼下菜鸟驿站的快递包裹做自动分拣。结果某位邻居收到了一箱猫粮和三双荧光绿洞洞鞋&#x

解锁动态规划的奥秘:从零到精通的创新思维解析(10)

前言:        前几天,我写了一篇关于动态规划的文章,今天继续为大家带来一些动态规划相关的习题解析。本次分享的两道题依然围绕“股票”问题展开,不过相比之前的题目,难度有所提升。希望能为大家的学习提供帮助!1.买卖股票的最佳时机1.1.题目来源        本题目来源于力扣,下面小编给出它的链接

LeetCode 290. 单词规律:同构字符串思路迁移,轻松破解映射难题

在上一篇文章中,我们详细拆解了 LeetCode 205 题「同构字符串」,核心掌握了「双向映射校验」的解题思路——通过维护两个映射关系,确保字符之间的对应唯一、反向唯一,同时优化了时间和空间效率。而今天要讲的 LeetCode 290 题「单词规律」,其实就是「同构字符串」的进阶变式题,解题逻辑完全可以直接迁移&