最小生成树

最小生成树

最小生成树源于最短电路连接,我们希望连接所有组件的针脚,同时又巴不得连线最短。由于连接了全部点,同时无环,因此又叫最小树。

阅读更多
并查集

并查集

算法常见题之并查集或者不相交集合数据结构 DSU,当有一组集合 n 个元素,假设我们经常需要:(1)判定某个元素属于哪个集合,(2)将两个集合合并成一个集合。那么,我们只需要维护一个并查集即可。

阅读更多
单源最短路径问题

单源最短路径问题

当你掏出手机打开高德地图,搜索从 “五角场” 到 “江浦公园” 的最短路线,单源最短路径就是高效解决这种问题的算法。当然,我其实瞬间就想到了很多其他的点子,比如直接在卫星地图上测量实际距离,又或者将一些路标(比如地铁口、学校、医院等)之间的最短路线(或者最优路线,虽然二者有时不相等,比如 “我喜欢绿化更高的出行线路,它让我心情好”)提前记录好,然后只需要测量起始点到最近路标的最近路线即可。

阅读更多
背包 DP

背包 DP

背包问题探讨了如何用有限背包去装入尽可能多或者尽可能贵的物品,或者说用有限空间换取最大价值的问题。当然,问题是多样化的,我们需要将问题中涉及到的资源抽象对应到背包的空间和价值两个维度上。

阅读更多
算法(持续更新)