类型 | 区别 |
非严格的次小生成树 | 若最小生成树不唯一 则次小生成树与最小生成树权值相同 |
严格的次小生成树 | 要求次小生成树权值严格大于最小生成树 |
求解次小生成数算法依据的结论:次小生成树可由最小生成树换一条边得到
结论详情可参考博文:次小生成树
算法一:由“次小生成树可由最小生成树换一条边得到”这一结论可知,可以枚举最小生成树的n-1条边,假设枚举的边就是被换掉的边,然后计算这个缺省这条边的图对应的的最小生成树,通过枚举可以得到n-1个最小生成树,
类型 | 操作 |
严格次小生成树 | 找出n-1棵树中找到权值>原最小生成树且最小的 |
非严格次小生成树 | 找出n-1棵树中找到权值>=原最小生成树且最小的 |
算法二:枚举每一条不在最小生成树上的边,并把这条边加入最小生成树,这是就构成了一个环,想要获得次小生成树就要删去除加进来的边之外的其他边中权值最大的边(最大是为了使得获得的生成树的值近可能的小)
类型 | 操作 |
严格次小生成树 | 在枚举的树中找到权值>原最小生成树且最小的,如果加入的边与删去的边权值一样就要删掉相应的次大边权 |
非严格次小生成树 | 在枚举的树中找到权值>=原最小生成树且最小的 |
问题集锦: