keruskal,是一种求最短生成树的算法,基本思想是将边按照边权排序,for循环边,利用并查集,
找此边的两个点是否属于一个集合,如果不属于就将其合并。加入vector,最后vector就是最小生成树。
图解
![](https://i-blog.csdnimg.cn/blog_migrate/f63aecd7bcc2db9d779e6ad6781f5439.png)
a--一开始为五个各自为自己祖先的集合;
b--将各边按边权排序;
![](https://i-blog.csdnimg.cn/blog_migrate/91d79c978c146761400f42ee635926e5.png)
c--一*2与4相连;祖先为2
二*1与3,5相连;祖先为1、
三*1与2相连;此时每个点祖先都是1;
四*因为2的祖先和4的祖先都是1,所以不用连;
*因为2和5祖先都是1,所以也不用连;
d。最后生成最小生成树