- 博客(2)
- 收藏
- 关注
原创 最小生成树详解
本文介绍了最小生成树的概念及其两种主要算法:Kruskal算法和Prim算法。Kruskal算法通过按边权排序并利用并查集避免环来构建最小生成树,适合稀疏图;Prim算法则从原点出发逐步扩展最近节点,适合稠密图。文章还通过多个例题(如繁忙的都市、无线通讯网等)展示了算法的应用,并介绍了超级源点等技巧。最后强调深入理解树结构是解决此类问题的关键,建议通过多做题来提高解题能力。不同问题需要灵活选择算法,构建特殊的最小生成树来满足需求。
2025-08-10 11:40:15
817
原创 并查集包教包会
由于边多且乱,就会导致点之间的关系也十分混乱,是很浪费时间的。如果我们把一个根节点的子孙直接指向它,岂不能省很多时间(当然有时不能完全压到深度为2,要看数据)。很明显,这样会使辈分排得很长,查询时浪费时间,因此直接把其中一个(两个都行)的祖先的父亲设为另一个的祖先(即把头连在一起,并合并为一个祖先)。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。在一开始没有任何关系的时候,等于说是每个点自成一个团体,因此每一个节点的父亲指向自己。2的祖先(1)的父亲设为5的祖先(1).(无意义)。
2025-08-04 22:04:36
709
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅