Kruskal's - HolmesJJ/Data-Structures-and-Algorithms GitHub Wiki
核心思想
- 贪婪算法
- 直接选择边权最小的边
- 具有相同权值的边,则可任意选取其中之一
算法步骤(最小生成树无环属性)
- 把图所有的边都移除,并都放到一个优先队列中,按照边权从小到大排列
- 把优先队列中的边按从小到大的顺序放回到图中,若出现环,就把该边丢弃
- 直到全部的结点都连通
标准写法
要点
维护一个表储存边权,每次需要找到边权最小的边,优先队列或AVL树搜索的时间复杂度是0(logn)