{
    "version": "https://jsonfeed.org/version/1",
    "title": "算法修炼手册 Blog",
    "home_page_url": "https://algo.zj.cn/blog",
    "description": "算法修炼手册 Blog",
    "items": [
        {
            "id": "https://algo.zj.cn/blog/-03-01-blog1",
            "content_html": "<blockquote>\n<p>本站仅供本人学习使用。本文是我在 <strong>2026 年 3 月</strong>完成图论基础模块后的复盘与沉淀。</p>\n</blockquote>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"-为什么学图论\">🎯 为什么学图论？<a href=\"https://algo.zj.cn/blog/-03-01-blog1#-%E4%B8%BA%E4%BB%80%E4%B9%88%E5%AD%A6%E5%9B%BE%E8%AE%BA\" class=\"hash-link\" aria-label=\"🎯 为什么学图论？的直接链接\" title=\"🎯 为什么学图论？的直接链接\" translate=\"no\">​</a></h2>\n<ul>\n<li class=\"\"><strong>高频考点</strong>：图相关问题在大厂面试中频繁出现（如最短路径、连通性、最小生成树等）。</li>\n<li class=\"\"><strong>建模能力</strong>：现实世界中的网络、依赖关系、路径规划等问题天然适合用图建模。</li>\n<li class=\"\"><strong>算法基石</strong>：掌握图的遍历与经典算法，是理解更复杂数据结构（如网络流、拓扑排序）的前提。</li>\n</ul>\n<hr>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"-已掌握的核心内容\">📚 已掌握的核心内容<a href=\"https://algo.zj.cn/blog/-03-01-blog1#-%E5%B7%B2%E6%8E%8C%E6%8F%A1%E7%9A%84%E6%A0%B8%E5%BF%83%E5%86%85%E5%AE%B9\" class=\"hash-link\" aria-label=\"📚 已掌握的核心内容的直接链接\" title=\"📚 已掌握的核心内容的直接链接\" translate=\"no\">​</a></h2>\n<table><thead><tr><th>模块</th><th>关键知识点</th><th>典型算法/工具</th></tr></thead><tbody><tr><td><strong>基础概念</strong></td><td>有向图 vs 无向图、度（入度/出度）、连通性（强连通分量）</td><td>—</td></tr><tr><td><strong>图的表示</strong></td><td>邻接矩阵（稠密图）、邻接表（稀疏图）</td><td>—</td></tr><tr><td><strong>遍历策略</strong></td><td>深度优先搜索（DFS）、广度优先搜索（BFS）</td><td>栈/递归、队列</td></tr><tr><td><strong>集合管理</strong></td><td>不相交集合的合并与查询</td><td>并查集（路径压缩 + 按秩合并）</td></tr><tr><td><strong>最小生成树</strong></td><td>连接所有节点的最小权重子图</td><td>Prim（点贪心）、Kruskal（边贪心 + 并查集）</td></tr><tr><td><strong>最短路径</strong></td><td>单源最短路径问题</td><td>Dijkstra（非负权）、Bellman-Ford（含负权）</td></tr></tbody></table>\n<hr>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"-刷题实践与典型题型\">💡 刷题实践与典型题型<a href=\"https://algo.zj.cn/blog/-03-01-blog1#-%E5%88%B7%E9%A2%98%E5%AE%9E%E8%B7%B5%E4%B8%8E%E5%85%B8%E5%9E%8B%E9%A2%98%E5%9E%8B\" class=\"hash-link\" aria-label=\"💡 刷题实践与典型题型的直接链接\" title=\"💡 刷题实践与典型题型的直接链接\" translate=\"no\">​</a></h2>\n<p>通过 <a href=\"https://kamacoder.com/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">KamaCoder</a> 和 LeetCode 完成以下类型题目：</p>\n<h3 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"1-dfsbfs-应用\">1. <strong>DFS/BFS 应用</strong><a href=\"https://algo.zj.cn/blog/-03-01-blog1#1-dfsbfs-%E5%BA%94%E7%94%A8\" class=\"hash-link\" aria-label=\"1-dfsbfs-应用的直接链接\" title=\"1-dfsbfs-应用的直接链接\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\"><strong>所有可达路径</strong>：回溯记录完整路径（DFS 模板）。</li>\n<li class=\"\"><strong>岛屿问题系列</strong>（计数、最大面积、沉没孤岛）：网格 DFS + 反向思维（“灌水法”）。</li>\n<li class=\"\"><strong>高山流水</strong>：双起点反向 DFS，求交集区域。</li>\n</ul>\n<h3 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"2-并查集实战\">2. <strong>并查集实战</strong><a href=\"https://algo.zj.cn/blog/-03-01-blog1#2-%E5%B9%B6%E6%9F%A5%E9%9B%86%E5%AE%9E%E6%88%98\" class=\"hash-link\" aria-label=\"2-并查集实战的直接链接\" title=\"2-并查集实战的直接链接\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\"><strong>寻找存在的路线</strong>：判断两点是否连通（基础 Union-Find）。</li>\n<li class=\"\"><strong>多余的边</strong>：检测环的形成（Kruskal 的逆向应用）。</li>\n<li class=\"\"><strong>建造最大岛屿</strong>：预处理岛屿编号 + 枚举填海（两阶段优化）。</li>\n</ul>\n<h3 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"3-最小生成树mst\">3. <strong>最小生成树（MST）</strong><a href=\"https://algo.zj.cn/blog/-03-01-blog1#3-%E6%9C%80%E5%B0%8F%E7%94%9F%E6%88%90%E6%A0%91mst\" class=\"hash-link\" aria-label=\"3-最小生成树mst的直接链接\" title=\"3-最小生成树mst的直接链接\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\"><strong>寻宝 / 连接所有点的最小费用</strong>：Prim（邻接矩阵）与 Kruskal（边排序 + 并查集）双解法对比。</li>\n<li class=\"\"><strong>非连通图处理</strong>：Kruskal 中检查 <code>used_edge == n-1</code>。</li>\n</ul>\n<h3 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"4-最短路径\">4. <strong>最短路径</strong><a href=\"https://algo.zj.cn/blog/-03-01-blog1#4-%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%BE%84\" class=\"hash-link\" aria-label=\"4-最短路径的直接链接\" title=\"4-最短路径的直接链接\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\"><strong>参加科学大会</strong>：Dijkstra 求单源最短路（优先队列优化）。</li>\n<li class=\"\"><strong>城市间货物运输</strong>：Bellman-Ford 处理负权边，并检测负环影响。</li>\n</ul>\n<hr>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"-工具与方法论\">🔧 工具与方法论<a href=\"https://algo.zj.cn/blog/-03-01-blog1#-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%96%B9%E6%B3%95%E8%AE%BA\" class=\"hash-link\" aria-label=\"🔧 工具与方法论的直接链接\" title=\"🔧 工具与方法论的直接链接\" translate=\"no\">​</a></h2>\n<ul>\n<li class=\"\"><strong>刷题平台</strong>：<a href=\"https://leetcode.cn/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">LeetCode</a>、<a href=\"https://kamacoder.com/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">KamaCoder</a></li>\n<li class=\"\"><strong>学习参考</strong>：<a href=\"https://github.com/youngyangyang04/leetcode-master\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">代码随想录 - 图论精讲</a></li>\n<li class=\"\"><strong>代码规范</strong>：<!-- -->\n<ul>\n<li class=\"\">C++ ACM 模式（主函数读写 + 算法封装）</li>\n<li class=\"\">模板化实现（如 <code>UnionFind</code>, <code>dijkstra</code>, <code>kruskal</code>）</li>\n<li class=\"\">边界条件全覆盖（图不连通、全陆地、负环等）</li>\n</ul>\n</li>\n</ul>\n<hr>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"-下一步计划\">🔄 下一步计划<a href=\"https://algo.zj.cn/blog/-03-01-blog1#-%E4%B8%8B%E4%B8%80%E6%AD%A5%E8%AE%A1%E5%88%92\" class=\"hash-link\" aria-label=\"🔄 下一步计划的直接链接\" title=\"🔄 下一步计划的直接链接\" translate=\"no\">​</a></h2>\n<ol>\n<li class=\"\"><strong>进阶图算法</strong>：拓扑排序、欧拉路径、二分图匹配。</li>\n<li class=\"\"><strong>动态规划 + 图结合</strong>：如 DAG 上的 DP。</li>\n<li class=\"\"><strong>真题强化</strong>：LeetCode Hot 100 图论专题 + 周赛真题复现。</li>\n</ol>\n<hr>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"-最后\">💬 最后<a href=\"https://algo.zj.cn/blog/-03-01-blog1#-%E6%9C%80%E5%90%8E\" class=\"hash-link\" aria-label=\"💬 最后的直接链接\" title=\"💬 最后的直接链接\" translate=\"no\">​</a></h2>\n<blockquote>\n<p>图论不是一蹴而就的技能，而是日积月累的沉淀。<br>\n<!-- -->从死记模板到理解“为什么用这个算法”，每一道题都是思维的锤炼。<br>\n<!-- -->我会在这里持续更新我的思考、错误、优化与总结。<strong>不为炫耀，只为成长。</strong></p>\n</blockquote>\n<p>🌐 在线访问：<a href=\"https://algo.zj.cn/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">https://algo.zj.cn</a><br>\n<!-- -->📝 备案号：<a href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">鄂ICP备2026007433号</a></p>",
            "url": "https://algo.zj.cn/blog/-03-01-blog1",
            "title": "图论学习阶段性总结",
            "summary": "完成图论基础模块的学习，系统梳理核心概念、经典算法与典型题型。",
            "date_modified": "2026-03-01T00:00:00.000Z",
            "tags": [
                "算法",
                "图论",
                "学习记录",
                "LeetCode"
            ]
        },
        {
            "id": "https://algo.zj.cn/blog/-02-10-my-first-algo-post",
            "content_html": "<blockquote>\n<p><strong>本站仅供本人学习使用</strong>。本文是我在 2026 年制定的算法学习起点记录。</p>\n</blockquote>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"-为什么学算法\">🎯 为什么学算法？<a href=\"https://algo.zj.cn/blog/-02-10-my-first-algo-post#-%E4%B8%BA%E4%BB%80%E4%B9%88%E5%AD%A6%E7%AE%97%E6%B3%95\" class=\"hash-link\" aria-label=\"🎯 为什么学算法？的直接链接\" title=\"🎯 为什么学算法？的直接链接\" translate=\"no\">​</a></h2>\n<ul>\n<li class=\"\">面试必备：大厂笔试 &amp; 面试高频考察</li>\n<li class=\"\">思维训练：提升逻辑、抽象与问题拆解能力</li>\n<li class=\"\">工程基础：理解底层数据结构，写出更高效的代码</li>\n</ul>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"-我的学习计划\">📅 我的学习计划<a href=\"https://algo.zj.cn/blog/-02-10-my-first-algo-post#-%E6%88%91%E7%9A%84%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92\" class=\"hash-link\" aria-label=\"📅 我的学习计划的直接链接\" title=\"📅 我的学习计划的直接链接\" translate=\"no\">​</a></h2>\n<table><thead><tr><th>阶段</th><th>内容</th><th>目标</th></tr></thead><tbody><tr><td>第1周</td><td>数组 + 双指针 + 二分查找</td><td>掌握基础题型，完成 30 道 LeetCode</td></tr><tr><td>第2周</td><td>链表 + 栈 + 队列</td><td>理解指针操作与线性结构</td></tr><tr><td>第3周</td><td>哈希表 + 字符串</td><td>提升空间换时间的思维</td></tr><tr><td>第4周</td><td>树 + DFS/BFS</td><td>攻克递归与遍历问题</td></tr><tr><td>后续</td><td>动态规划、回溯、图论...</td><td>逐步进阶</td></tr></tbody></table>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"-工具与环境\">🔧 工具与环境<a href=\"https://algo.zj.cn/blog/-02-10-my-first-algo-post#-%E5%B7%A5%E5%85%B7%E4%B8%8E%E7%8E%AF%E5%A2%83\" class=\"hash-link\" aria-label=\"🔧 工具与环境的直接链接\" title=\"🔧 工具与环境的直接链接\" translate=\"no\">​</a></h2>\n<ul>\n<li class=\"\">刷题平台：<a href=\"https://leetcode.cn/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">LeetCode</a></li>\n<li class=\"\">学习参考：<a href=\"https://github.com/youngyangyang04/leetcode-master?tab=readme-ov-file\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">代码随想录</a></li>\n<li class=\"\">本地练习：VS Code + Node.js</li>\n<li class=\"\">笔记整理：本博客（基于 Docusaurus 构建）</li>\n<li class=\"\">代码规范：ES6+，注重可读性与注释</li>\n</ul>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"-最后\">💬 最后<a href=\"https://algo.zj.cn/blog/-02-10-my-first-algo-post#-%E6%9C%80%E5%90%8E\" class=\"hash-link\" aria-label=\"💬 最后的直接链接\" title=\"💬 最后的直接链接\" translate=\"no\">​</a></h2>\n<p>算法不是一蹴而就的技能，而是日积月累的沉淀。<br>\n<!-- -->我会在这里持续更新我的思考、错误、优化与总结。</p>\n<p><strong>不为炫耀，只为成长。</strong></p>\n<blockquote>\n<p>🌐 在线访问：<a href=\"https://algo.zj.cn/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">https://algo.zj.cn</a><br>\n<!-- -->📝 备案号：<a href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">鄂ICP备2026007433号</a></p>\n</blockquote>",
            "url": "https://algo.zj.cn/blog/-02-10-my-first-algo-post",
            "title": "开始我的算法学习之旅",
            "summary": "记录我从零开始系统学习算法的初心与规划。",
            "date_modified": "2026-02-10T00:00:00.000Z",
            "tags": [
                "算法",
                "学习计划",
                "LeetCode"
            ]
        }
    ]
}