@@ -72,6 +72,62 @@ console.log(g.V); // display 13, which is the number of vertices in g
7272console .log (g .adj (0 )); // display the adjacency list which are vertices directed from vertex 0
7373```
7474
75+ ### Create undirected weighted graph
76+
77+ The sample code below shows show to create undirected weighted graph:
78+
79+ ``` javascript
80+ var jsgraphs = require (' js-graph-algorithms' );
81+ var g = new jsgraphs.WeightedGraph (8 );
82+ g .addEdge (new jsgraphs.Edge (0 , 7 , 0.16 ));
83+ g .addEdge (new jsgraphs.Edge (2 , 3 , 0.17 ));
84+ g .addEdge (new jsgraphs.Edge (1 , 7 , 0.19 ));
85+ g .addEdge (new jsgraphs.Edge (0 , 2 , 0.26 ));
86+ g .addEdge (new jsgraphs.Edge (5 , 7 , 0.28 ));
87+ g .addEdge (new jsgraphs.Edge (1 , 3 , 0.29 ));
88+ g .addEdge (new jsgraphs.Edge (1 , 5 , 0.32 ));
89+ g .addEdge (new jsgraphs.Edge (2 , 7 , 0.34 ));
90+ g .addEdge (new jsgraphs.Edge (4 , 5 , 0.35 ));
91+ g .addEdge (new jsgraphs.Edge (1 , 2 , 0.36 ));
92+ g .addEdge (new jsgraphs.Edge (4 , 7 , 0.37 ));
93+ g .addEdge (new jsgraphs.Edge (0 , 4 , 0.38 ));
94+ g .addEdge (new jsgraphs.Edge (6 , 2 , 0.4 ));
95+ g .addEdge (new jsgraphs.Edge (3 , 6 , 0.52 ));
96+ g .addEdge (new jsgraphs.Edge (6 , 0 , 0.58 ));
97+ g .addEdge (new jsgraphs.Edge (6 , 4 , 0.93 ));
98+
99+ console .log (g .V ); // display 13, which is the number of vertices in g
100+ console .log (g .adj (0 )); // display the adjacency list which are undirected edges connected to vertex 0
101+ ```
102+
103+ ### Create directed weighted graph
104+
105+ The sample code below shows show to create directed weighted graph:
106+
107+ ``` javascript
108+ var jsgraphs = require (' js-graph-algorithms' );
109+ var g = new jsgraphs.WeightedDiGraph (8 );
110+ g .addEdge (new jsgraphs.Edge (0 , 7 , 0.16 ));
111+ g .addEdge (new jsgraphs.Edge (2 , 3 , 0.17 ));
112+ g .addEdge (new jsgraphs.Edge (1 , 7 , 0.19 ));
113+ g .addEdge (new jsgraphs.Edge (0 , 2 , 0.26 ));
114+ g .addEdge (new jsgraphs.Edge (5 , 7 , 0.28 ));
115+ g .addEdge (new jsgraphs.Edge (1 , 3 , 0.29 ));
116+ g .addEdge (new jsgraphs.Edge (1 , 5 , 0.32 ));
117+ g .addEdge (new jsgraphs.Edge (2 , 7 , 0.34 ));
118+ g .addEdge (new jsgraphs.Edge (4 , 5 , 0.35 ));
119+ g .addEdge (new jsgraphs.Edge (1 , 2 , 0.36 ));
120+ g .addEdge (new jsgraphs.Edge (4 , 7 , 0.37 ));
121+ g .addEdge (new jsgraphs.Edge (0 , 4 , 0.38 ));
122+ g .addEdge (new jsgraphs.Edge (6 , 2 , 0.4 ));
123+ g .addEdge (new jsgraphs.Edge (3 , 6 , 0.52 ));
124+ g .addEdge (new jsgraphs.Edge (6 , 0 , 0.58 ));
125+ g .addEdge (new jsgraphs.Edge (6 , 4 , 0.93 ));
126+
127+ console .log (g .V ); // display 13, which is the number of vertices in g
128+ console .log (g .adj (0 )); // display the adjacency list which are directed edges from vertex 0
129+ ```
130+
75131### Depth First Search
76132
77133The sample code below show how to perform depth first search of an undirected graph
@@ -264,4 +320,39 @@ for(var i=0; i < mst.length; ++i) {
264320 var w = e .other (v);
265321 console .log (' (' + v + ' , ' + w + ' ): ' + e .weight );
266322}
323+ ```
324+
325+ ### Use Eager Prim algorithm to find the minimum spanning tree of a weighted graph
326+
327+ The sample code below show how to obtain the minimum spanning tree from a weighted graph using Eager Prim algorithm:
328+
329+ ``` javascript
330+ var jsgraphs = require (' js-graph-algorithms' );
331+ var g = new jsgraphs.WeightedGraph (8 );
332+
333+ g .addEdge (new jsgraphs.Edge (0 , 7 , 0.16 ));
334+ g .addEdge (new jsgraphs.Edge (2 , 3 , 0.17 ));
335+ g .addEdge (new jsgraphs.Edge (1 , 7 , 0.19 ));
336+ g .addEdge (new jsgraphs.Edge (0 , 2 , 0.26 ));
337+ g .addEdge (new jsgraphs.Edge (5 , 7 , 0.28 ));
338+ g .addEdge (new jsgraphs.Edge (1 , 3 , 0.29 ));
339+ g .addEdge (new jsgraphs.Edge (1 , 5 , 0.32 ));
340+ g .addEdge (new jsgraphs.Edge (2 , 7 , 0.34 ));
341+ g .addEdge (new jsgraphs.Edge (4 , 5 , 0.35 ));
342+ g .addEdge (new jsgraphs.Edge (1 , 2 , 0.36 ));
343+ g .addEdge (new jsgraphs.Edge (4 , 7 , 0.37 ));
344+ g .addEdge (new jsgraphs.Edge (0 , 4 , 0.38 ));
345+ g .addEdge (new jsgraphs.Edge (6 , 2 , 0.4 ));
346+ g .addEdge (new jsgraphs.Edge (3 , 6 , 0.52 ));
347+ g .addEdge (new jsgraphs.Edge (6 , 0 , 0.58 ));
348+ g .addEdge (new jsgraphs.Edge (6 , 4 , 0.93 ));
349+
350+ var prim = new jsgraphs.EagerPrimMST (g);
351+ var mst = prim .mst ;
352+ for (var i= 0 ; i < mst .length ; ++ i) {
353+ var e = mst[i];
354+ var v = e .either ();
355+ var w = e .other (v);
356+ console .log (' (' + v + ' , ' + w + ' ): ' + e .weight );
357+ }
267358```
0 commit comments