- 博客(30)
- 收藏
- 关注
原创 【每日算法】Day 17-1:位图(Bitmap)——十亿级数据去重与快速检索的终极方案(C++实现)
解锁海量数据处理的极致空间效率!今日深入解析位图的核心原理与实战应用,从基础操作到分块优化,彻底掌握仅用1bit存储一个数据的压缩艺术。
2025-04-04 15:58:20
1012
原创 【每日算法】Day 16-1:跳表(Skip List)——Redis有序集合的核心实现原理(C++手写实现)
int val;// 多层后继指针。
2025-04-02 14:16:36
929
原创 【每日算法】Day 15-1:哈希表与布隆过滤器——海量数据处理与高效检索的核心技术(C++实现)
O(1)时间复杂度的快速检索灵活处理动态数据集支撑现代系统核心组件(如数据库索引)内存效率极高,适合海量数据场景并行化扩展能力强隐私保护(不存储原始数据)705. 设计哈希集合706. 设计哈希映射1044. 最长重复子串(结合二分与哈希)
2025-04-01 13:22:59
879
原创 【每日算法】Day 14-1:单调栈与单调队列——Next Greater Element与滑动窗口极值问题(C++实现)
解锁高效解决大小关系问题的核心技巧!今日深入解析单调栈与单调队列的实现原理与实战应用,涵盖下一个更大元素、滑动窗口最大值等高频场景,彻底掌握O(n)时间复杂度的极值追踪技术。
2025-03-31 14:37:24
565
原创 【每日算法】Day 13-1:前缀和与差分数组——区间统计与更新的高效技巧(C++实现)
征服区间操作的核心技术!今日深入解析前缀和与差分数组的底层原理与实战应用,覆盖子数组和统计、区间批量更新等高频场景,彻底掌握O(1)复杂度查询与更新的优化艺术。前缀和(Prefix Sum) 是一种通过预处理数组实现快速区间查询的技术,核心特性:适用场景:频繁查询区间和/区间统计量多维空间区域和计算结合哈希表优化特定和问题二维前缀和(LeetCode 304)、三、差分数组核心思想差分数组(Difference Array) 是一种优化区间批量更新的技术,核心特性:适用场景:频繁区间增减
2025-03-30 13:53:59
412
原创 【每日算法】Day 12-1:滑动窗口算法精讲——子串/子数组问题的优化利器(C++实现)
攻克子串问题的效率密码!今日深入解析滑动窗口算法的核心思想与实战技巧,覆盖最小覆盖子串、最长无重复子串等高频场景,彻底掌握O(n)时间复杂度的窗口滑动艺术。
2025-03-29 14:11:04
505
原创 【每日算法】Day 11-1:分治算法精讲——从归并排序到最近点对问题(C++实现)
掌握“分而治之”的算法哲学!今日系统解析分治算法的核心思想与实战应用,覆盖排序优化、数学计算、几何问题等高频场景,彻底理解“分解-解决-合并”的算法范式。
2025-03-28 17:09:46
734
原创 【每日算法】Day 10-1:深度优先搜索(DFS)算法精讲——排列组合与路径问题的终极解法(C++实现)
解锁回溯与遍历的核心能力!今日深入解析深度优先搜索(DFS)的实现原理与优化技巧,结合排列组合、路径搜索等高频场景,彻底掌握递归与剪枝的底层逻辑。
2025-03-27 20:06:09
698
原创 【每日算法】Day 9-1:贪心算法精讲——区间调度与最优选择(C++实现)
时间复杂度通常为O(n log n)代码简洁高效,适合笔试场景解决资源分配问题的利器无法保证所有问题全局最优需要严格的数学证明452. 用最少数量的箭引爆气球406. 根据身高重建队列122. 买卖股票的最佳时机 II。
2025-03-26 11:02:40
958
原创 【每日算法】Day 8-1:广度优先搜索(BFS)算法精讲——层序遍历与最短路径实战(C++实现)
掌握遍历与搜索的核心武器!今日深入解析广度优先搜索(BFS)的核心思想与实现技巧,结合树/图的层序遍历、最短路径等高频场景,彻底吃透队列在算法中的妙用。
2025-03-25 13:09:27
458
原创 【每日算法】Day 7-1:递归算法从入门到精通——破解大厂高频题的核心思想(C++实现)
攻克算法思维基石!今日深入解析递归算法的核心思想与优化技巧,结合分治、回溯、树结构等高频场景,彻底掌握递归的解题范式与时间复杂度分析。
2025-03-23 21:42:08
401
原创 【每日算法】Day 6-1:哈希表从入门到实战——高频算法题(C++实现)
掌握高频数据结构!今日深入解析哈希表的核心原理与设计实现,结合冲突解决策略与大厂高频真题,彻底掌握O(1)时间复杂度的数据访问技术。
2025-03-22 15:50:12
259
原创 【每日算法】Day 5-2:位运算核心技巧——从基础到高频题实战(C++实现)
将时间复杂度优化至O(1)空间复杂度利用位级并行性提升计算效率适用于状态压缩、哈希优化等场景如何用位运算实现浮点数快速乘除?如何设计基于位运算的布隆过滤器?位运算在密码学中的典型应用有哪些?191. 位1的个数231. 2的幂371. 两整数之和。
2025-03-15 11:17:59
333
原创 【每日算法】Day 5-1:红黑树深入解析——从理论到C++手写实现
T data;在动态数据集上保证高效操作通过颜色标记减少平衡开销广泛应用于系统级软件开发如何实现线程安全的红黑树?红黑树在Linux内核中的具体应用场景?如何扩展红黑树支持区间查询与统计操作?
2025-03-15 11:10:22
564
原创 【每日算法】Day 4-3:二叉树专题从原理到实战----大厂常考题型全解析(C++实现)
二叉树遍历和构建是解决树形结构问题的重要基础多种遍历方式适用于不同场景,递归与迭代各有优势利用哈希表辅助可优化构树与查找效率如何高效完成二叉搜索树的平衡(如 AVL、红黑树)?二叉树如何应用在区间查询、优先级调度或 Huffman 编码等场景?如何用非递归方法实现后序遍历,避免递归带来的栈溢出风险?
2025-03-14 10:00:00
790
原创 【每日算法】Day 4-2:堆排序从原理到实战——大厂必考的高效排序(C++实现)
今日深入解析堆排序的实现原理与优化技巧,结合优先级队列应用场景与大厂高频真题,彻底理解O(n log n)排序的底层逻辑。
2025-03-14 09:30:00
226
原创 【每日算法】Day 3-3:二分查找算法终极指南——从基础到变种全覆盖(C++实现)
/ 检查是否找到right : -1;区间定义的严谨性控制问题转化能力(将复杂问题抽象为二分查找)条件判断的精确性把握如何在无限流数据中实现二分查找?如何利用二分查找实现数值计算(如平方根)?二分查找与分治算法的本质区别是什么?34. 在排序数组中查找元素的第一个和最后一个位置153. 寻找旋转排序数组中的最小值162. 寻找峰值。
2025-03-13 09:53:58
372
原创 【每日算法】Day 3-2:字符串匹配终极武器——KMP算法详解(C++实现)
next数组的构建是算法核心,体现自匹配思想匹配过程利用已匹配信息避免冗余比较KMP的扩展应用远超字符串匹配(如循环节判断)如何修改算法实现多模式匹配?KMP与Boyer-Moore算法的性能对比?如何利用KMP求字符串的周期?28. 实现 strStr()1392. 最长快乐前缀。
2025-03-13 09:46:38
641
原创 【每日算法】Day 3-1:双指针算法终极指南——6大应用场景与高频题解析(C++实现)
问题转化能力(将复杂问题抽象为双指针模型)边界处理能力(精确控制指针移动条件)模板活用能力(根据场景选择最优指针策略)如何用双指针解决四数之和问题?滑动窗口如何应用于数据流场景?快慢指针在检测链表环时的数学原理是什么?42. 接雨水76. 最小覆盖子串142. 环形链表II。
2025-03-12 17:31:01
244
原创 【每日算法】Day 2-3:并查集算法精讲——连通性问题的终极解决方案(C++实现)
并查集是处理动态连通性问题的利器路径压缩与按秩合并是性能优化的关键灵活扩展后可处理复杂关系问题如何实现支持集合分割(split)操作的并查集?当需要统计每个集合的大小时,应如何修改代码?如何利用并查集检测无向图中的环?684. 冗余连接721. 账户合并。
2025-03-12 13:05:11
566
原创 【每日算法】Day 2-2:拓扑排序核心原理与应用——从依赖解析到任务调度(C++实现)
解锁有向无环图的核心算法!今日详解拓扑排序,从两种实现方法到实际场景剖析,结合大厂真题与代码实战,彻底掌握依赖调度问题的终极解法。
2025-03-12 12:44:57
342
原创 【每日算法】Day 2-1:深搜与广搜终极指南——算法核心与场景剖析(C++实现)
今日详解深度优先搜索(DFS)与广度优先搜索(BFS),从遍历逻辑到场景应用,结合大厂真题与动图演示,彻底理解两种搜索策略的本质差异。
2025-03-12 12:39:29
842
原创 【每日算法】Day 1-5:最小生成树终极对决——Prim与Kruskal算法详解(C++实现)
Prim适合顶点操作,Kruskal适合边操作并查集的路径压缩优化是关键性能保障两种算法在不同场景下的效率反转点(E ≈ V²时Prim更优)如何动态维护一个随时增减边的最小生成树?当图中存在相同权重的边时,如何统计MST的数量?如何利用MST解决旅行商问题(TSP)的近似解?1584. 连接所有点的最小费用1135. 最低成本连通所有城市。
2025-03-11 17:32:04
713
原创 【每日算法】Day 1-4:Dijkstra最短路径算法详解——从原理到堆优化(C++实现)
征服图论核心算法!详解单源最短路径算法——Dijkstra,从暴力实现到堆优化,图文+代码+复杂度分析,彻底掌握最短路径问题。
2025-03-11 17:10:59
343
原创 【每日算法】Day 1-3:动态规划从入门到精通——20分钟吃透核心思想(C++实现)
明确dp[i][j]dp[i]表示前i个元素的最优解)状态维度选择:一维/二维/多维(根据问题复杂度决定)问题抽象能力(将现实问题转化为状态模型)数学建模能力(推导状态转移方程)空间优化意识(识别可压缩的维度)如何将斐波那契数列递归解法改写成动态规划?在背包问题中,如何记录最优解的具体物品选择方案?当遇到树形动态规划问题时(如二叉树抢劫问题),状态定义有何不同?
2025-03-11 16:10:43
928
原创 【每日算法】Day 1-2:快速排序终极指南——从原理到优化一网打尽(C++实现)
平均性能最好的O(n log n)排序算法内存访问模式对缓存友好可并行化优化(多线程处理子数组)递归实现可能栈溢出不稳定排序特性最坏情况需通过优化避免。
2025-03-11 11:22:33
252
原创 【每日算法】Day 1-1:三分钟彻底掌握冒泡排序(C++实现)
冒泡排序(Bubble Sort)是一种基于交换的排序算法,其核心思想是:通过不断比较相邻元素,将较大元素逐步"浮"到数组末端,如同水中气泡上浮的过程。稳定排序(相等元素不改变顺序)时间复杂度:O(n²)(最坏/平均)空间复杂度:O(1)(原地排序)
2025-03-11 11:11:24
432
原创 【C++学习笔记】用两个队列实现栈
需要实现的功能如下:template<typename T>class mystack { public: Stack(); void push(const T& data);//入栈 T pop();//出栈 T top();//返回栈顶元素 int size() const;//返回栈的大小 bool empty();//判断是否为空 private:
2021-05-31 20:54:34
212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人