1.问题
江湖开始之初,每一个武林高手都以自己的武功为尊,自成一派并自诩为掌门人,但为了振兴帮派,各个帮派的人不得不吞并其他帮派。江湖上所有人的距离不同,就从最近的开始吞并吧。
2.解析
最小生成树:
1.树:连通图;
没有回路;
如果整个图有v个顶点一定有v-1条边。
2.生成树:包含全部的顶点;
v-1条边都在图里。
3.最小:边的权重和最小。
条件:
只能用图里面已有的边;
只能正好用掉v-1条边;
不能有回路。
包含sort函数:排序;
find函数:找当前节点的父节点,直至找到掌门人;
combine函数:判断两节点是否为同一掌门人(同一连通分支),不是则合并为同一连通分支。
3.设计
4.源码
https://github.com/tangzhejia/algorithm