Kruskal 算法 (模版)HDU 1301 Jungle Roads


核心思想 对所有的边按照权重从小到大排序,然后按顺序选取边构造[[最小生成树]]。选择的边必须满足:加入这条边不会在已选取的边中形成环路 (对于是否形成环,用并查集判断)。 输入:一张连通的无向图 HDU 1301 Jungle Roads(最小生成树问题) #include <bits/stdc+

最近公共祖先 (LCA)


1. 朴素法:普通递归 这是最直观的方法。从根节点开始递归,对于每个节点,检查是否是p或q,或者p和q是否在它的两侧子树中。如果是,那么这个节点就是LCA。 struct TreeNode { int val; TreeNode *left; TreeNode *right;