Skip to content

Commit ef46369

Browse files
committed
Adjust to the updated Randomize functions in tracers.js
1 parent f310721 commit ef46369

File tree

38 files changed

+63
-55
lines changed

38 files changed

+63
-55
lines changed

Branch and Bound/Binary Search Tree/search.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const T = [ // mapping to G as a binary tree , [i][0] indicates left child, [i][
2828
[9, -1],
2929
];
3030

31-
const key = new Randomize.Integer(0, G.length - 1).create(); // item to be searched
31+
const key = Randomize.Integer({ min: 0, max: G.length - 1 }); // item to be searched
3232
const tracer = new GraphTracer(' Binary Search Tree ');
3333
const logger = new LogTracer(' Log ');
3434
Layout.setRoot(new VerticalLayout([tracer, logger]));

Branch and Bound/Binary Search/iterative.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(15, new Randomize.Integer(0, 50)).sorted().create();
7+
const D = Randomize.Array1D({ N: 15, value: () => Randomize.Integer({ min: 0, max: 50 }), sorted: true });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();
@@ -44,7 +44,7 @@ function BinarySearch(array, element) { // array = sorted array, element = eleme
4444
return -1;
4545
}
4646

47-
const element = D[new Randomize.Integer(0, D.length - 1).create()];
47+
const element = D[Randomize.Integer({ min: 0, max: D.length - 1 })];
4848

4949
logger.println(`Using iterative binary search to find ${element}`);
5050
BinarySearch(D, element);

Branch and Bound/Binary Search/recursive.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(15, new Randomize.Integer(0, 50)).sorted().create();
7+
const D = Randomize.Array1D({ N: 15, value: () => Randomize.Integer({ min: 0, max: 50 }), sorted: true });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();
@@ -46,7 +46,7 @@ function BinarySearch(array, element, minIndex, maxIndex) { // array = sorted ar
4646
return -1;
4747
}
4848

49-
const element = D[new Randomize.Integer(0, D.length - 1).create()];
49+
const element = D[Randomize.Integer({ min: 0, max: D.length - 1 })];
5050

5151
logger.println(`Using binary search to find ${element}`);
5252
BinarySearch(D, element, 0, D.length - 1);

Branch and Bound/Depth-Limited Search/code.js

+1
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,5 @@ function DLSCount(limit, node, parent) { // node = current node, parent = previo
3737
}
3838
return child;
3939
}
40+
4041
logger.println(`Number of descendant is ${DLSCount(2, 0)}`);

Brute Force/Breadth-First Search/shortestPath.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const tracer = new GraphTracer().directed(false).weighted();
44
const logger = new LogTracer();
55
Layout.setRoot(new VerticalLayout([tracer, logger]));
66
tracer.log(logger);
7-
const G = new Randomize.Graph(5, 1).directed(false).weighted().create();
7+
const G = Randomize.Graph({ N: 5, ratio: 1, directed: false, weighted: true });
88
tracer.set(G);
99
Tracer.delay();
1010

@@ -36,10 +36,10 @@ function BFS() {
3636
return W[e];
3737
}
3838

39-
let s = new Randomize.Integer(0, G.length - 1).create(); // s = start node
39+
let s = Randomize.Integer({ min: 0, max: G.length - 1 }); // s = start node
4040
let e; // e = start node
4141
do {
42-
e = new Randomize.Integer(0, G.length - 1).create();
42+
e = Randomize.Integer({ min: 0, max: G.length - 1 });
4343
} while (s === e);
4444
let MAX_VALUE = 0x7fffffff;
4545
logger.println(`finding the shortest path from ${s} to ${e}`);

Brute Force/Breadth-First Search/tree.js

+1
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,5 @@ function BFS(s) { // s = start node
3737
}
3838
}
3939
}
40+
4041
BFS(0);

Brute Force/Bubble Sort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(15).create();
7+
const D = Randomize.Array1D({ N: 15 });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();

Brute Force/Comb Sort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(15).create();
7+
const D = Randomize.Array1D({ N: 15 });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();

Brute Force/Cycle Sort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(15).create();
7+
const D = Randomize.Array1D({ N: 15 });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();

Brute Force/Depth-First Search/graph.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const visitedTracer = new Array1DTracer('visited');
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([graphTracer, visitedTracer, logger]));
77
graphTracer.log(logger);
8-
const G = new Randomize.Graph(8, .3).directed(false).create();
8+
const G = Randomize.Graph({ N: 8, ratio: .3, directed: false });
99
graphTracer.set(G);
1010
Tracer.delay();
1111

Brute Force/Depth-First Search/shortestPath.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const tracer = new GraphTracer().directed(false).weighted();
44
const logger = new LogTracer();
55
Layout.setRoot(new VerticalLayout([tracer, logger]));
66
tracer.log(logger);
7-
const G = new Randomize.Graph(5, 1).directed(false).weighted().create();
7+
const G = Randomize.Graph({ N: 5, ratio: 1, directed: false, weighted: true });
88
tracer.set(G);
99
Tracer.delay();
1010

@@ -35,10 +35,10 @@ function DFS(node, parent, weight) { // node = current node, parent = previous n
3535
Tracer.delay();
3636
}
3737

38-
const s = new Randomize.Integer(0, G.length - 1).create(); // s = start node
38+
const s = Randomize.Integer({ min: 0, max: G.length - 1 }); // s = start node
3939
let e; // e = end node
4040
do {
41-
e = new Randomize.Integer(0, G.length - 1).create();
41+
e = Randomize.Integer({ min: 0, max: G.length - 1 });
4242
} while (s === e);
4343
const MAX_VALUE = Infinity;
4444
let minWeight = MAX_VALUE;

Brute Force/Depth-First Search/weightedGraph.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const tracer = new GraphTracer().directed(false).weighted();
44
const logger = new LogTracer();
55
Layout.setRoot(new VerticalLayout([tracer, logger]));
66
tracer.log(logger);
7-
const G = new Randomize.Graph(5, 1).directed(false).weighted().create();
7+
const G = Randomize.Graph({ N: 5, ratio: 1, directed: false, weighted: true });
88
tracer.set(G);
99
Tracer.delay();
1010

Brute Force/Heapsort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(10).create();
7+
const D = Randomize.Array1D({ N: 10 });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();

Brute Force/Insertion Sort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(15).create();
7+
const D = Randomize.Array1D({ N: 15 });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();

Brute Force/PageRank/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ function filledArray(length, value) {
44
return Array(...Array(length)).map(Number.prototype.valueOf, value);
55
}
66

7-
const G = new Randomize.Graph(5, .4).create();
7+
const G = Randomize.Graph({ N: 5, ratio: .4 });
88
let ranks;
99
const outgoingEdgeCounts = filledArray(G.length, 0);
1010
let incomingNodes;

Brute Force/Pancake Sort/code.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(10).create();
7+
const D = Randomize.Array1D({ N: 10 });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();
1111

1212
logger.println(`original array = [${D.join(', ')}]`);
1313
const N = D.length;
14+
1415
function flip(start) {
1516
tracer.select(start, N - 1);
1617
Tracer.delay();
@@ -31,10 +32,14 @@ function flip(start) {
3132
}
3233
tracer.deselect(start, N - 1);
3334
}
35+
3436
for (let i = 0; i < N - 1; i++) {
3537
logger.println(`round ${i + 1}`);
3638
const currArr = D.slice(i, N);
37-
const currMax = currArr.reduce((prev, curr, idx) => ((curr > prev.val) ? { idx, val: curr } : prev), { idx: 0, val: currArr[0] });
39+
const currMax = currArr.reduce((prev, curr, idx) => ((curr > prev.val) ? { idx, val: curr } : prev), {
40+
idx: 0,
41+
val: currArr[0],
42+
});
3843
if (currMax.idx !== 0) { // if currMax.idx === 0 that means max element already at the bottom, no flip required
3944
logger.println(`flip at ${currMax.idx + i} (step 1)`);
4045
flip(currMax.idx + i, N);

Brute Force/Selection Sort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(15).create();
7+
const D = Randomize.Array1D({ N: 15 });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();

Brute Force/Shellsort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(15).create();
7+
const D = Randomize.Array1D({ N: 15 });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();

Divide and Conquer/Bucket Sort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Layout.setRoot(new VerticalLayout([chartTracer, arrayTracer, bucketsTracer]));
1212
// define input variables
1313
const N = 25; // the size of an array
1414
const K = 5; // the number of buckets
15-
const array = new Randomize.Array1D(N, new Randomize.Integer(0, 999)).create();
15+
const array = Randomize.Array1D({ N, value: () => Randomize.Integer({ min: 0, max: 999 }) });
1616

1717
(function main() {
1818
// create K buckets

Divide and Conquer/Counting Sort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Layout.setRoot(new VerticalLayout([arrayTracer, countsTracer, sortedArrayTracer]
1111

1212
// define input variables
1313
const N = 20; // the size of an array
14-
const array = new Randomize.Array1D(N, new Randomize.Integer(0, 9)).create();
14+
const array = Randomize.Array1D({ N, value: () => Randomize.Integer({ min: 0, max: 9 }) });
1515

1616
(function main() {
1717
// find the maximum value that will decide the size of counts array

Divide and Conquer/Merge Sort/bottomUp.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ const tracer = new Array2DTracer();
44
const logger = new LogTracer();
55
Layout.setRoot(new VerticalLayout([tracer, logger]));
66
const D = [
7-
new Randomize.Array1D(20, new Randomize.Integer(0, 50)).create(),
8-
new Randomize.Array1D(20, new Randomize.Integer(0, 0)).create(),
7+
Randomize.Array1D({ N: 20, value: () => Randomize.Integer({ min: 0, max: 50 }) }),
8+
Randomize.Array1D({ N: 20, value: () => Randomize.Integer({ min: 0, max: 0 }) }),
99
];
1010

1111
tracer.set(D);

Divide and Conquer/Merge Sort/topDown.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(15).create();
7+
const D = Randomize.Array1D({ N: 15 });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();

Divide and Conquer/Pigeonhole Sort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const { Tracer, Array1DTracer, Array2DTracer, LogTracer, Randomize, Layout, VerticalLayout } = require('algorithm-visualizer');
22

3-
const A = new Randomize.Array1D(7).create();
3+
const A = Randomize.Array1D({ N: 7 });
44
const N = A.length;
55

66
const tracer1 = new Array1DTracer('Array');

Divide and Conquer/Quicksort/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const chart = new ChartTracer();
44
const tracer = new Array1DTracer();
55
const logger = new LogTracer();
66
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
7-
const D = new Randomize.Array1D(15).create();
7+
const D = Randomize.Array1D({ N: 15 });
88
tracer.set(D);
99
tracer.chart(chart);
1010
Tracer.delay();

Divide and Conquer/Radix Sort/leastSignificantDigit.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const { Tracer, Array2DTracer, LogTracer, Randomize, Layout, VerticalLayout } =
33
const tracer = new Array2DTracer();
44
const logger = new LogTracer();
55
Layout.setRoot(new VerticalLayout([tracer, logger]));
6-
const k = new Randomize.Array1D(10, new Randomize.Integer(1, 999)).create();
6+
const k = Randomize.Array1D({ N: 10, value: () => Randomize.Integer({ min: 1, max: 999 }) });
77
const D = [
88
k,
99
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

Dynamic Programming/Bellman-Ford's Shortest Path/code.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const tracer = new GraphTracer().weighted();
44
const logger = new LogTracer();
55
Layout.setRoot(new VerticalLayout([tracer, logger]));
66
tracer.log(logger);
7-
const G = new Randomize.Graph(5, .5, new Randomize.Integer(-2, 5)).weighted().create();
7+
const G = Randomize.Graph({ N: 5, ratio: .5, value: () => Randomize.Integer({ min: -2, max: 5 }), weighted: true });
88
tracer.set(G);
99
Tracer.delay();
1010

@@ -66,7 +66,7 @@ function BELLMAN_FORD(src, dest) {
6666
return weights[dest];
6767
}
6868

69-
const src = new Randomize.Integer(0, G.length - 1).create();
69+
const src = Randomize.Integer({ min: 0, max: G.length - 1 });
7070
let dest;
7171
let MAX_VALUE = 0x7fffffff;
7272
let minWeight;
@@ -77,7 +77,7 @@ let minWeight;
7777
*/
7878

7979
do {
80-
dest = new Randomize.Integer(0, G.length - 1).create();
80+
dest = Randomize.Integer({ min: 0, max: G.length - 1 });
8181
}
8282
while (src === dest);
8383

Dynamic Programming/Floyd-Warshall's Shortest Path/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const tracer = new GraphTracer().weighted();
44
const logger = new LogTracer();
55
Layout.setRoot(new VerticalLayout([tracer, logger]));
66
tracer.log(logger);
7-
const G = new Randomize.Graph(5, 1).weighted().create();
7+
const G = Randomize.Graph({ N: 5, ratio: 1, weighted: true });
88
tracer.set(G);
99
Tracer.delay();
1010

Dynamic Programming/Integer Partition/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const { Tracer, Array2DTracer, LogTracer, Randomize, Layout, VerticalLayout } =
33
const tracer = new Array2DTracer();
44
const logger = new LogTracer();
55
Layout.setRoot(new VerticalLayout([tracer, logger]));
6-
const integer = new Randomize.Integer(5, 14).create();
6+
const integer = Randomize.Integer({ min: 5, max: 14 });
77
const D = [];
88
const A = [];
99
for (let i = 0; i <= integer; i++) {

Dynamic Programming/Longest Increasing Subsequence/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const { Tracer, Array1DTracer, LogTracer, Randomize, Layout, VerticalLayout } =
33
const tracer = new Array1DTracer();
44
const logger = new LogTracer();
55
Layout.setRoot(new VerticalLayout([tracer, logger]));
6-
const A = new Randomize.Array1D(10, new Randomize.Integer(0, 10)).create();
6+
const A = Randomize.Array1D({ N: 10, value: () => Randomize.Integer({ min: 0, max: 10 }) });
77
const LIS = new Array(A.length);
88
tracer.set(A);
99
Tracer.delay();

Dynamic Programming/Longest Palindromic Subsequence/code.js

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ function max(a, b) {
3030
}
3131
return b;
3232
}
33+
3334
logger.println('LPS for any string with length = 1 is 1');
3435
for (i = 2; i <= N; i++) {
3536
logger.println('--------------------------------------------------');

Dynamic Programming/Maximum Sum Path/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const { Tracer, Array2DTracer, LogTracer, Randomize, Layout, VerticalLayout } = require('algorithm-visualizer');
22

3-
const D = new Randomize.Array2D(5, 5, new Randomize.Integer(1, 5)).create();
3+
const D = Randomize.Array2D({ N: 5, M: 5, value: () => Randomize.Integer({ min: 1, max: 5 }) });
44
const dataViewer = new Array2DTracer();
55
const tracer = new Array2DTracer('Results Table');
66
const logger = new LogTracer();

Dynamic Programming/Sliding Window/code.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const { Tracer, Array1DTracer, LogTracer, Randomize, Layout, VerticalLayout } =
33
const tracer = new Array1DTracer();
44
const logger = new LogTracer();
55
Layout.setRoot(new VerticalLayout([tracer, logger]));
6-
const D = new Randomize.Array1D(20, new Randomize.Integer(-5, 5)).create();
6+
const D = Randomize.Array1D({ N: 20, value: () => Randomize.Integer({ min: -5, max: 5 }) });
77
tracer.set(D);
88
Tracer.delay();
99

0 commit comments

Comments
 (0)