<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>算法修炼手册 Blog</title>
        <link>https://algo.zj.cn/blog</link>
        <description>算法修炼手册 Blog</description>
        <lastBuildDate>Sun, 01 Mar 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-CN</language>
        <copyright>Copyright © 2026 20zj05.</copyright>
        <item>
            <title><![CDATA[图论学习阶段性总结]]></title>
            <link>https://algo.zj.cn/blog/-03-01-blog1</link>
            <guid>https://algo.zj.cn/blog/-03-01-blog1</guid>
            <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[完成图论基础模块的学习，系统梳理核心概念、经典算法与典型题型。]]></description>
            <content:encoded><![CDATA[<blockquote>
<p>本站仅供本人学习使用。本文是我在 <strong>2026 年 3 月</strong>完成图论基础模块后的复盘与沉淀。</p>
</blockquote>
<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>
<ul>
<li class=""><strong>高频考点</strong>：图相关问题在大厂面试中频繁出现（如最短路径、连通性、最小生成树等）。</li>
<li class=""><strong>建模能力</strong>：现实世界中的网络、依赖关系、路径规划等问题天然适合用图建模。</li>
<li class=""><strong>算法基石</strong>：掌握图的遍历与经典算法，是理解更复杂数据结构（如网络流、拓扑排序）的前提。</li>
</ul>
<hr>
<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>
<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>
<hr>
<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>
<p>通过 <a href="https://kamacoder.com/" target="_blank" rel="noopener noreferrer" class="">KamaCoder</a> 和 LeetCode 完成以下类型题目：</p>
<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>
<ul>
<li class=""><strong>所有可达路径</strong>：回溯记录完整路径（DFS 模板）。</li>
<li class=""><strong>岛屿问题系列</strong>（计数、最大面积、沉没孤岛）：网格 DFS + 反向思维（“灌水法”）。</li>
<li class=""><strong>高山流水</strong>：双起点反向 DFS，求交集区域。</li>
</ul>
<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>
<ul>
<li class=""><strong>寻找存在的路线</strong>：判断两点是否连通（基础 Union-Find）。</li>
<li class=""><strong>多余的边</strong>：检测环的形成（Kruskal 的逆向应用）。</li>
<li class=""><strong>建造最大岛屿</strong>：预处理岛屿编号 + 枚举填海（两阶段优化）。</li>
</ul>
<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>
<ul>
<li class=""><strong>寻宝 / 连接所有点的最小费用</strong>：Prim（邻接矩阵）与 Kruskal（边排序 + 并查集）双解法对比。</li>
<li class=""><strong>非连通图处理</strong>：Kruskal 中检查 <code>used_edge == n-1</code>。</li>
</ul>
<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>
<ul>
<li class=""><strong>参加科学大会</strong>：Dijkstra 求单源最短路（优先队列优化）。</li>
<li class=""><strong>城市间货物运输</strong>：Bellman-Ford 处理负权边，并检测负环影响。</li>
</ul>
<hr>
<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>
<ul>
<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>
<li class=""><strong>学习参考</strong>：<a href="https://github.com/youngyangyang04/leetcode-master" target="_blank" rel="noopener noreferrer" class="">代码随想录 - 图论精讲</a></li>
<li class=""><strong>代码规范</strong>：<!-- -->
<ul>
<li class="">C++ ACM 模式（主函数读写 + 算法封装）</li>
<li class="">模板化实现（如 <code>UnionFind</code>, <code>dijkstra</code>, <code>kruskal</code>）</li>
<li class="">边界条件全覆盖（图不连通、全陆地、负环等）</li>
</ul>
</li>
</ul>
<hr>
<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>
<ol>
<li class=""><strong>进阶图算法</strong>：拓扑排序、欧拉路径、二分图匹配。</li>
<li class=""><strong>动态规划 + 图结合</strong>：如 DAG 上的 DP。</li>
<li class=""><strong>真题强化</strong>：LeetCode Hot 100 图论专题 + 周赛真题复现。</li>
</ol>
<hr>
<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>
<blockquote>
<p>图论不是一蹴而就的技能，而是日积月累的沉淀。<br>
<!-- -->从死记模板到理解“为什么用这个算法”，每一道题都是思维的锤炼。<br>
<!-- -->我会在这里持续更新我的思考、错误、优化与总结。<strong>不为炫耀，只为成长。</strong></p>
</blockquote>
<p>🌐 在线访问：<a href="https://algo.zj.cn/" target="_blank" rel="noopener noreferrer" class="">https://algo.zj.cn</a><br>
<!-- -->📝 备案号：<a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="">鄂ICP备2026007433号</a></p>]]></content:encoded>
            <category>算法</category>
            <category>图论</category>
            <category>学习记录</category>
            <category>LeetCode</category>
        </item>
        <item>
            <title><![CDATA[开始我的算法学习之旅]]></title>
            <link>https://algo.zj.cn/blog/-02-10-my-first-algo-post</link>
            <guid>https://algo.zj.cn/blog/-02-10-my-first-algo-post</guid>
            <pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[记录我从零开始系统学习算法的初心与规划。]]></description>
            <content:encoded><![CDATA[<blockquote>
<p><strong>本站仅供本人学习使用</strong>。本文是我在 2026 年制定的算法学习起点记录。</p>
</blockquote>
<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>
<ul>
<li class="">面试必备：大厂笔试 &amp; 面试高频考察</li>
<li class="">思维训练：提升逻辑、抽象与问题拆解能力</li>
<li class="">工程基础：理解底层数据结构，写出更高效的代码</li>
</ul>
<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>
<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>
<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>
<ul>
<li class="">刷题平台：<a href="https://leetcode.cn/" target="_blank" rel="noopener noreferrer" class="">LeetCode</a></li>
<li class="">学习参考：<a href="https://github.com/youngyangyang04/leetcode-master?tab=readme-ov-file" target="_blank" rel="noopener noreferrer" class="">代码随想录</a></li>
<li class="">本地练习：VS Code + Node.js</li>
<li class="">笔记整理：本博客（基于 Docusaurus 构建）</li>
<li class="">代码规范：ES6+，注重可读性与注释</li>
</ul>
<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>
<p>算法不是一蹴而就的技能，而是日积月累的沉淀。<br>
<!-- -->我会在这里持续更新我的思考、错误、优化与总结。</p>
<p><strong>不为炫耀，只为成长。</strong></p>
<blockquote>
<p>🌐 在线访问：<a href="https://algo.zj.cn/" target="_blank" rel="noopener noreferrer" class="">https://algo.zj.cn</a><br>
<!-- -->📝 备案号：<a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="">鄂ICP备2026007433号</a></p>
</blockquote>]]></content:encoded>
            <category>算法</category>
            <category>学习计划</category>
            <category>LeetCode</category>
        </item>
    </channel>
</rss>