精选文章

📚 精选阅读

  1. LeetCode 1584 - 连接所有点的最小费用
    • 难度:中等 MST 基础应用
    • 链接:https://leetcode.cn/problems/min-cost-to-connect-all-points/
  2. LeetCode 1167 - 连接棒料棒的最小成本
    • 难度:中等 哈夫曼变形
    • 链接:https://leetcode.cn/problems/minimum-cost-to-connect-sticks/
  3. LeetCode 1135 - 连接城市的最低成本
    • 难度:简单 Kruskal 直接应用
    • 链接:https://leetcode.cn/problems/minimum-cost-to-connect-cities/
  4. 《MST 算法详解》 — 经典图论
    • 图解 Prim 和 Kruskal 算法
    • 推荐:OI Wiki / 洛谷博客
  5. 《次小生成树》 — 竞赛内容
    • 枚举 + LCA / 瓶颈路
    • 进阶学习

🔧 实战路径

第一阶段:Kruskal 入门
├─ LeetCode 1135:套模板
├─ 理解并查集的路径压缩和按秩合并
└─ 为什么用并查集(检测环)

第二阶段:Prim 进阶
├─ 用堆实现 Prim
├─ 对比 Kruskal 和 Prim 的适用场景
└─ 什么时候用哪个?

第三阶段:变形题
├─ LeetCode 1584:曼哈顿距离建图
├─ LeetCode 1167:哈夫曼思想
└─ 理解 MST 的变形本质

📖 推荐学习顺序

1. 理解 MST 的定义 → 什么是生成树
2. 理解切分定理 → 为什么 Kruskal/Prim 正确
3. 画图模拟 Kruskal → 选边、不成环
4. 画图模拟 Prim → 从点扩展
5. 理解并查集 → 检测环
6. 刷 LeetCode 1584 → 综合应用

💡 面试常考点

考点 对应题目 难度
Kruskal 模板 1135 简单
Prim 模板 1584 变形 中等
并查集 1135、1584 中等
哈夫曼变形 1167 中等
次小生成树 竞赛题 困难

面试高频问题

  1. Kruskal 和 Prim 的区别?各自适合什么图?
  2. 为什么 Kruskal 用并查集检测环?
  3. 切分定理是什么?证明 MST 的正确性。

相关阅读:最小生成树(Minimum Spanning Tree)