Skip to content

Commit 497c7e4

Browse files
committed
simplify data of dfs examples
1 parent a73a309 commit 497c7e4

File tree

6 files changed

+32
-52
lines changed

6 files changed

+32
-52
lines changed
Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
var tracer = new DirectedGraphTracer();
22
var logger = new LogTracer();
33
tracer.attach(logger);
4-
/*var G = [ // G[i][j] indicates whether the path from the i-th node to the j-th node exists or not
5-
[0, 1, 1, 1, 0],
6-
[0, 0, 1, 1, 1],
7-
[0, 0, 0, 0, 0],
8-
[0, 0, 0, 0, 1],
9-
[0, 0, 0, 0, 0]
10-
];*/
11-
var G = DirectedGraph.random(5, .75);
4+
var G = DirectedGraph.random(4, .75);
125
tracer._setData(G);
Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,36 @@
1-
function DFSExplore (graph, source) {
2-
var stack = [ [source, null] ], visited = {};
3-
var node, prev, i, temp;
1+
function DFSExplore(graph, source) {
2+
var stack = [[source, null]], visited = {};
3+
var node, prev, i, temp;
44

5-
while (stack.length > 0) {
6-
temp = stack.pop ();
7-
node = temp [0];
8-
prev = temp [1];
5+
while (stack.length > 0) {
6+
temp = stack.pop();
7+
node = temp [0];
8+
prev = temp [1];
99

10-
if (!visited [node]) {
11-
visited [node] = true;
12-
logger._print (node);
10+
if (!visited [node]) {
11+
visited [node] = true;
1312

14-
if (prev !== undefined && graph [node] [prev]) { tracer._visit (node, prev)._wait (); console.log ('tracer ' + prev + ', ' + node); }
15-
else { tracer._visit (node)._wait (); console.log ('tracer ' + node); }
13+
if (prev !== undefined && graph [node] [prev]) {
14+
tracer._visit(node, prev)._wait();
15+
} else {
16+
tracer._visit(node)._wait();
17+
}
1618

17-
for (i = 0; i < graph.length; i++) {
18-
if (graph [node] [i]) {
19-
stack.push ([i, node]);
20-
}
21-
}
22-
}
23-
}
19+
for (i = 0; i < graph.length; i++) {
20+
if (graph [node] [i]) {
21+
stack.push([i, node]);
22+
}
23+
}
24+
}
25+
}
2426

25-
return visited;
27+
return visited;
2628
}
2729

28-
29-
var visited = DFSExplore (G, 0);
30-
if (G.length === Object.keys (visited).length) {
31-
logger._print ('The Graph is CONNECTED');
30+
var visited = DFSExplore(G, 0);
31+
if (G.length === Object.keys(visited).length) {
32+
logger._print('The Graph is CONNECTED');
3233
}
3334
else {
34-
logger._print ('The Graph is NOT CONNECTED');
35+
logger._print('The Graph is NOT CONNECTED');
3536
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
var tracer = new UndirectedGraphTracer();
22
var logger = new LogTracer();
3+
tracer.attach(logger);
34
var G = UndirectedGraph.random(8, .2);
45

56
tracer._setData(G);
Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
var tracer = new WeightedDirectedGraphTracer();
22
var logger = new LogTracer();
33
tracer.attach(logger);
4-
/*var G = [ // G[i][j] indicates the weight of the path from the i-th node to the j-th node
5-
[0, 3, 0, 1, 0],
6-
[5, 0, 1, 2, 4],
7-
[1, 0, 0, 2, 0],
8-
[0, 2, 0, 0, 1],
9-
[0, 1, 3, 0, 0]
10-
];*/
114
var G = WeightedDirectedGraph.random(10, .3, 1, 9);
125
tracer._setData(G);

algorithm/graph_search/dfs/weighted_graph/code.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
function DFS(node, parent, weight) { // node = current node, parent = previous node
2-
logger._print((parent === undefined ? '' : parent) + ' -> ' + node);
32
tracer._visit(node, parent, weight)._wait();
43
D[node] = true; // label current node as discovered
54
for (var i = 0; i < G[node].length; i++) {
@@ -10,7 +9,6 @@ function DFS(node, parent, weight) { // node = current node, parent = previous n
109
}
1110
}
1211
D[node] = false; // label current node as undiscovered
13-
logger._print(node + ' <- ' + (parent === undefined ? '' : parent));
1412
tracer._leave(node, parent, 0)._wait();
1513
}
1614
var D; // D[i] indicates whether the i-th node is discovered or not
Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
var tracer = new WeightedDirectedGraphTracer();
2-
/*var G = [ // G[i][j] indicates the weight of the path from the i-th node to the j-th node
3-
[0, 3, 0, 1, 0],
4-
[5, 0, 1, 2, 4],
5-
[1, 0, 0, 2, 0],
6-
[0, 2, 0, 0, 1],
7-
[0, 1, 3, 0, 0]
8-
];*/
9-
var G = WeightedDirectedGraph.random(5, .5);
10-
tracer._setData(G);
11-
var logger = new LogTracer();
2+
var logger = new LogTracer();
3+
tracer.attach(logger);
4+
var G = WeightedDirectedGraph.random(4, .5);
5+
tracer._setData(G);

0 commit comments

Comments
 (0)