李国强的技术博客
首页
算法专栏
应用
学习导航
在线工具
归档
分类
标签
关于
友链
大学算法全体系
48
Part 6:字符串算法
9
Part 6.9:后缀自动机 (SAM)——字符串算法的集大成者
Part 6.8:后缀数组 (Suffix Array)——子串问题的强大工具
Part 6.7:AC 自动机——多模式匹配的终极武器
Part 6.6:Trie (字典树)——高效的前缀查询神器
Part 6.5:字符串哈希——O(1) 比较子串的利器
Part 6.4:Manacher 回文算法
Part 6.3:Z-Algorithm
Part 6.2:Trie 树(字典树)
Part 6.1:KMP 算法
Part 4:图论算法
8
Part 4.8:网络流——从水管到算法的流量优化之旅
Part 4.7:二分图匹配——月老的红线与匈牙利算法
Part 4.6:强连通分量 (SCC)——将复杂图分解为核心簇
Part 4.5:拓扑排序——安排任务的艺术
Part 4.4:多源最短路与负权环 (Bellman-Ford & Floyd-Warshall)
Part 4.3:单源最短路——从一点到所有点的最优路径 (Dijkstra & SPFA)
Part 4.2:最小生成树 (MST)——Kruskal 与 Prim 算法
Part 4.1:图论入门——图的表示与遍历 (BFS & DFS)
Part 2:基础数据结构
8
Part 2.8:二叉搜索树:有序世界的高效查找
Part 2.7:并查集:高效处理“朋友圈”问题
Part 2.5:二叉树遍历:理解树的四种核心视角
Part 2.4:树结构基础:从根到叶的层次艺术
Part 2.3:哈希表:O(1) 查找的黑魔法
Part 2.2:栈与队列:两种特殊的线性表
Part 2.6:堆与优先队列:O(log n) 的动态极值查找
Part 2.1:数组与链表:相爱相杀的线性双雄
Part 5:动态规划
7
Part 5.7:DP 总结与方法论
Part 5.6:状态压缩 DP
Part 5.5:树形 DP
Part 5.4:区间 DP
Part 5.3:最长公共子序列 (LCS)
Part 5.2:最长上升子序列 (LIS)
Part 5.1:DP 入门:背包问题
Part 7:高级算法
5
Part 7.5:快速傅里叶变换 (FFT)——算法世界的蝶之舞
Part 7.4:数论算法——从质数到密码学的基石
Part 7.3:随机化算法——当运气成为一种力量
Part 7.2:分治算法——帝国的统治智慧与归并排序
Part 7.1:贪心算法——局部最优通向全局最优的艺术
Part 3:排序与查找算法
5
Part 3.5:二分查找:O(log n) 的有序搜索艺术
Part 3.4:堆排序:原地 O(n log n) 的选择
Part 3.3:归并排序:稳定高效的分治典范
Part 3.2:快速排序:分治思想的经典应用
Part 3.1:基础排序算法:冒泡、选择与插入
Part 1:算法基础
3
Part 1.3:空间复杂度推导方法大全
Part 1.2:时间复杂度推导方法大全
Part 1.1:什么是算法?什么是复杂度?
Part 8:工程与面试
3
Part 8.3:大语言模型时代的算法学习——AI 改变了什么,什么不会变
Part 8.2:算法面试策略——白板前的系统性思考法
Part 8.1:工程算法优化——从理论到实践的最后一公里
博客搭建
6
Hexo 功能扩展
2
Hexo 博客功能定制实战:网址导航与音乐播放器配置详解
为 Hexo 博客添加 Gitalk 评论系统——从零到一的完整指南
主题定制
1
Fluid 主题配置与美化实践
Hexo 性能优化
1
Hexo 博客性能优化实践:加载速度提升指南
Hexo SEO
1
Hexo 博客 SEO 优化实践指南
Hexo 部署
1
Hexo 博客双分支部署实战:源码与部署分离的最佳实践
后端开发
2
Java 基础
1
Java集合框架深入解析
Spring Boot
1
Spring Boot项目实战:构建RESTful API
算法与数据结构
1
数据结构
1
二叉树遍历算法详解
搜索
×
关键词
博客在允许 JavaScript 运行的环境下浏览效果更佳