@@ -16,7 +16,7 @@ package graphs
16
16
17
17
import (
18
18
"github.com/howz97/algorithm/basic"
19
- "github.com/howz97/algorithm/pq "
19
+ "github.com/howz97/algorithm/pqueue "
20
20
)
21
21
22
22
func NewWGraph (size uint ) * WGraph {
@@ -35,7 +35,7 @@ func (g *WGraph) AddEdge(src, dst int, w float64) error {
35
35
36
36
// LazyPrim gets the minimum spanning tree by Lazy-Prim algorithm. g MUST be a connected graph
37
37
func (g * WGraph ) LazyPrim () (mst * WGraph ) {
38
- pq := pq .NewPaired [float64 , * edge ](g .NumVert ())
38
+ pq := pqueue .NewPaired [float64 , * edge ](g .NumVert ())
39
39
mst = NewWGraph (g .NumVert ())
40
40
marked := make ([]bool , g .NumVert ())
41
41
marked [0 ] = true
@@ -58,7 +58,7 @@ func (g *WGraph) LazyPrim() (mst *WGraph) {
58
58
return
59
59
}
60
60
61
- func lazyPrimVisit (g * WGraph , v int , marked []bool , pq * pq .Paired [float64 , * edge ]) {
61
+ func lazyPrimVisit (g * WGraph , v int , marked []bool , pq * pqueue .Paired [float64 , * edge ]) {
62
62
marked [v ] = true
63
63
g .IterWAdjacent (v , func (a int , w float64 ) bool {
64
64
if ! marked [a ] {
@@ -75,7 +75,7 @@ func lazyPrimVisit(g *WGraph, v int, marked []bool, pq *pq.Paired[float64, *edge
75
75
// Prim gets the minimum spanning tree by Prim algorithm. g MUST be a connected graph
76
76
func (g * WGraph ) Prim () (mst * WGraph ) {
77
77
marked := make ([]bool , g .NumVert ())
78
- pq := pq .NewFixable [float64 , int ](g .NumVert ())
78
+ pq := pqueue .NewFixable [float64 , int ](g .NumVert ())
79
79
mst = NewWGraph (g .NumVert ())
80
80
marked [0 ] = true
81
81
g .IterWAdjacent (0 , func (a int , w float64 ) bool {
@@ -92,7 +92,7 @@ func (g *WGraph) Prim() (mst *WGraph) {
92
92
return
93
93
}
94
94
95
- func primVisit (g , mst * WGraph , v int , marked []bool , pq * pq .Fixable [float64 , int ]) {
95
+ func primVisit (g , mst * WGraph , v int , marked []bool , pq * pqueue .Fixable [float64 , int ]) {
96
96
marked [v ] = true
97
97
g .IterWAdjacent (v , func (a int , w float64 ) bool {
98
98
if marked [a ] {
@@ -115,7 +115,7 @@ func primVisit(g, mst *WGraph, v int, marked []bool, pq *pq.Fixable[float64, int
115
115
func (g * WGraph ) Kruskal () (mst * WGraph ) {
116
116
mst = NewWGraph (g .NumVert ())
117
117
uf := basic .NewUnionFind (int (g .NumVert ()))
118
- pq := pq .NewPaired [float64 , * edge ](g .NumVert ())
118
+ pq := pqueue .NewPaired [float64 , * edge ](g .NumVert ())
119
119
g .IterWEdge (func (src int , dst int , w float64 ) bool {
120
120
pq .PushPair (w , & edge {
121
121
from : src ,
0 commit comments