diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5a6c379..f4b4bc5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,7 +8,7 @@ All notable changes to this project will be documented in this file.
- [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
- [`auto-changelog`](https://github.com/CookPete/auto-changelog)
-## [v1.43.0](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
+## [v1.43.1](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
### Changes
diff --git a/README.md b/README.md
index d626833..2e2d1fd 100644
--- a/README.md
+++ b/README.md
@@ -728,49 +728,49 @@ optimal approach to data structure design.
[//]: # (No deletion!!! Start of Replace Section)
avl-tree
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add randomly | 31.34 | 31.90 | 3.63e-4 |
10,000 add & delete randomly | 71.68 | 13.95 | 0.00 |
10,000 addMany | 48.63 | 20.56 | 0.01 |
10,000 get | 28.99 | 34.49 | 0.00 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add randomly | 35.38 | 28.26 | 0.00 |
10,000 add & delete randomly | 80.65 | 12.40 | 0.01 |
10,000 addMany | 46.45 | 21.53 | 9.97e-4 |
10,000 get | 31.59 | 31.66 | 0.00 |
binary-tree
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000 add randomly | 12.47 | 80.21 | 2.46e-4 |
1,000 add & delete randomly | 16.29 | 61.39 | 0.00 |
1,000 addMany | 10.34 | 96.67 | 1.78e-4 |
1,000 get | 22.72 | 44.02 | 0.01 |
1,000 dfs | 167.13 | 5.98 | 0.01 |
1,000 bfs | 57.06 | 17.53 | 4.63e-4 |
1,000 morris | 272.80 | 3.67 | 0.01 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000 add randomly | 13.01 | 76.84 | 7.71e-4 |
1,000 add & delete randomly | 16.82 | 59.46 | 0.00 |
1,000 addMany | 10.46 | 95.62 | 2.13e-4 |
1,000 get | 18.44 | 54.22 | 2.49e-4 |
1,000 dfs | 163.31 | 6.12 | 0.01 |
1,000 bfs | 58.07 | 17.22 | 0.00 |
1,000 morris | 273.11 | 3.66 | 0.00 |
bst
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add randomly | 30.28 | 33.02 | 4.41e-4 |
10,000 add & delete randomly | 73.93 | 13.53 | 0.01 |
10,000 addMany | 29.66 | 33.72 | 0.00 |
10,000 get | 27.96 | 35.76 | 3.35e-4 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add randomly | 33.44 | 29.91 | 5.09e-4 |
10,000 add & delete randomly | 76.03 | 13.15 | 0.00 |
10,000 addMany | 32.26 | 31.00 | 0.00 |
10,000 get | 32.75 | 30.53 | 0.01 |
rb-tree
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 add randomly | 89.26 | 11.20 | 0.01 |
100,000 add & delete randomly | 218.90 | 4.57 | 0.01 |
100,000 getNode | 41.74 | 23.96 | 0.00 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 add | 99.27 | 10.07 | 0.01 |
100,000 add & delete randomly | 233.22 | 4.29 | 0.01 |
100,000 getNode | 148.41 | 6.74 | 0.00 |
directed-graph
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000 addVertex | 0.10 | 9995.32 | 1.43e-6 |
1,000 addEdge | 6.32 | 158.28 | 7.89e-4 |
1,000 getVertex | 0.05 | 2.17e+4 | 2.66e-7 |
1,000 getEdge | 23.68 | 42.23 | 0.00 |
tarjan | 214.15 | 4.67 | 0.01 |
tarjan all | 214.51 | 4.66 | 0.00 |
topologicalSort | 182.64 | 5.48 | 0.01 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000 addVertex | 0.11 | 9381.52 | 3.21e-6 |
1,000 addEdge | 6.36 | 157.14 | 7.19e-4 |
1,000 getVertex | 0.05 | 2.09e+4 | 2.72e-6 |
1,000 getEdge | 24.66 | 40.55 | 0.00 |
tarjan | 219.65 | 4.55 | 0.01 |
tarjan all | 239.68 | 4.17 | 0.04 |
topologicalSort | 216.14 | 4.63 | 0.07 |
hash-map
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 set | 16.51 | 60.57 | 9.87e-4 |
10,000 set & get | 34.75 | 28.77 | 6.11e-4 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 set | 19.50 | 51.27 | 0.01 |
10,000 set & get | 38.20 | 26.18 | 0.01 |
heap
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add & pop | 4.62 | 216.34 | 4.19e-5 |
10,000 fib add & pop | 358.77 | 2.79 | 0.00 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add & pop | 4.86 | 205.69 | 7.04e-4 |
10,000 fib add & pop | 386.50 | 2.59 | 0.03 |
doubly-linked-list
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 unshift | 232.43 | 4.30 | 0.09 |
1,000,000 unshift & shift | 174.59 | 5.73 | 0.05 |
1,000,000 insertBefore | 322.71 | 3.10 | 0.07 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 unshift | 243.46 | 4.11 | 0.05 |
1,000,000 unshift & shift | 178.49 | 5.60 | 0.02 |
1,000,000 insertBefore | 326.38 | 3.06 | 0.07 |
singly-linked-list
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 push & pop | 216.35 | 4.62 | 0.01 |
10,000 insertBefore | 246.91 | 4.05 | 0.00 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 push & pop | 232.85 | 4.29 | 0.01 |
10,000 insertBefore | 255.90 | 3.91 | 0.01 |
max-priority-queue
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 refill & poll | 11.67 | 85.71 | 2.89e-4 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 refill & poll | 11.88 | 84.15 | 0.00 |
priority-queue
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add & pop | 12.43 | 80.44 | 1.15e-4 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
10,000 add & pop | 12.60 | 79.35 | 1.40e-4 |
deque
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 222.16 | 4.50 | 0.06 |
1,000,000 shift | 26.33 | 37.98 | 0.00 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 226.32 | 4.42 | 0.03 |
1,000,000 shift | 26.09 | 38.33 | 0.00 |
queue
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 45.99 | 21.74 | 0.01 |
1,000,000 push & shift | 80.49 | 12.42 | 0.00 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 45.45 | 22.00 | 0.01 |
1,000,000 push & shift | 82.87 | 12.07 | 0.00 |
stack
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 44.04 | 22.71 | 0.01 |
1,000,000 push & pop | 50.06 | 19.98 | 0.01 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
1,000,000 push | 43.95 | 22.75 | 0.01 |
1,000,000 push & pop | 50.91 | 19.64 | 0.00 |
trie
-
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 push | 44.87 | 22.29 | 7.28e-4 |
100,000 getWords | 88.45 | 11.31 | 0.00 |
+
test name | time taken (ms) | executions per sec | sample deviation |
---|
100,000 push | 50.20 | 19.92 | 0.00 |
100,000 getWords | 110.08 | 9.08 | 0.01 |
[//]: # (No deletion!!! End of Replace Section)
\ No newline at end of file
diff --git a/package.json b/package.json
index bfbe76a..04c33f8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "data-structure-typed",
- "version": "1.43.0",
+ "version": "1.43.1",
"description": "Data Structures of Javascript & TypeScript. Binary Tree, BST, Graph, Heap, Priority Queue, Linked List, Queue, Deque, Stack, AVL Tree, Tree Multiset, Trie, Directed Graph, Undirected Graph, Singly Linked List, Doubly Linked List, Max Heap, Max Priority Queue, Min Heap, Min Priority Queue.",
"main": "dist/cjs/src/index.js",
"module": "dist/mjs/src/index.js",
diff --git a/test/config.ts b/test/config.ts
index fc676fe..57a271d 100644
--- a/test/config.ts
+++ b/test/config.ts
@@ -1,2 +1,2 @@
-export const isDebugTest = false;
-export const isCompetitor = false;
+export const isDebugTest: boolean = false;
+export const isCompetitor: boolean = false;
diff --git a/test/integration/index.html b/test/integration/index.html
index c481f7e..ca63b4c 100644
--- a/test/integration/index.html
+++ b/test/integration/index.html
@@ -16,17 +16,6 @@
try {
- const {AVLTree, Queue} = window.dataStructureTyped;
- const avlTree = new AVLTree();
- const $avlTree = document.createElement('li');
- const $avlTreeSpan = document.createElement('span');
- $avlTreeSpan.innerText = 'AVLTree';
- $avlTree.append($avlTreeSpan);
- avlTree.add(1, 1);
- console.log(avlTree.bfs());
- $modules.append($avlTree);
-
-
const queue = new Queue();
for (let i = 0; i < 100000; i++) {
queue.enqueue(i);
@@ -43,6 +32,22 @@
} catch (e) {
console.error(e);
}
+ try {
+ const {AVLTree} = window.dataStructureTyped;
+ const avlTree = new AVLTree();
+ const $avlTree = document.createElement('li');
+ const $avlTreeSpan = document.createElement('span');
+ $avlTreeSpan.innerText = 'AVLTree';
+ $avlTree.append($avlTreeSpan);
+ for (let i = 1; i < 31; i++) {
+ avlTree.add(i, i);
+ }
+ console.log(avlTree.bfs());
+ // avlTree.print();
+ $modules.append($avlTree);
+ } catch (e) {
+ console.error(e);
+ }
try {
const {BinaryTree} = dataStructureTyped;
@@ -66,6 +71,20 @@
} catch (e) {
console.error(e);
}
+
+
+ try {
+ const {RedBlackTree} = dataStructureTyped;
+ const tree = new RedBlackTree();
+ for (let i = 1; i < 31; i++) {
+ tree.add(i, i);
+ }
+ console.log(tree.isPerfectlyBalanced());
+ tree.print();
+
+ } catch (e) {
+ console.error(e);
+ }