From 649101ebe0ae9795acae75be69b7bd487aeb9804 Mon Sep 17 00:00:00 2001 From: Revone Date: Mon, 13 Nov 2023 00:03:42 +0800 Subject: [PATCH] release: v 1.43.1 --- CHANGELOG.md | 2 +- README.md | 30 +++++++------- package.json | 2 +- test/config.ts | 4 +- test/integration/index.html | 41 ++++++++++++++----- .../binary-tree/rb-tree.test.ts | 4 +- 6 files changed, 51 insertions(+), 32 deletions(-) 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 nametime taken (ms)executions per secsample deviation
10,000 add randomly31.3431.903.63e-4
10,000 add & delete randomly71.6813.950.00
10,000 addMany48.6320.560.01
10,000 get28.9934.490.00
+
test nametime taken (ms)executions per secsample deviation
10,000 add randomly35.3828.260.00
10,000 add & delete randomly80.6512.400.01
10,000 addMany46.4521.539.97e-4
10,000 get31.5931.660.00
binary-tree
-
test nametime taken (ms)executions per secsample deviation
1,000 add randomly12.4780.212.46e-4
1,000 add & delete randomly16.2961.390.00
1,000 addMany10.3496.671.78e-4
1,000 get22.7244.020.01
1,000 dfs167.135.980.01
1,000 bfs57.0617.534.63e-4
1,000 morris272.803.670.01
+
test nametime taken (ms)executions per secsample deviation
1,000 add randomly13.0176.847.71e-4
1,000 add & delete randomly16.8259.460.00
1,000 addMany10.4695.622.13e-4
1,000 get18.4454.222.49e-4
1,000 dfs163.316.120.01
1,000 bfs58.0717.220.00
1,000 morris273.113.660.00
bst
-
test nametime taken (ms)executions per secsample deviation
10,000 add randomly30.2833.024.41e-4
10,000 add & delete randomly73.9313.530.01
10,000 addMany29.6633.720.00
10,000 get27.9635.763.35e-4
+
test nametime taken (ms)executions per secsample deviation
10,000 add randomly33.4429.915.09e-4
10,000 add & delete randomly76.0313.150.00
10,000 addMany32.2631.000.00
10,000 get32.7530.530.01
rb-tree
-
test nametime taken (ms)executions per secsample deviation
100,000 add randomly89.2611.200.01
100,000 add & delete randomly218.904.570.01
100,000 getNode41.7423.960.00
+
test nametime taken (ms)executions per secsample deviation
100,000 add99.2710.070.01
100,000 add & delete randomly233.224.290.01
100,000 getNode148.416.740.00
directed-graph
-
test nametime taken (ms)executions per secsample deviation
1,000 addVertex0.109995.321.43e-6
1,000 addEdge6.32158.287.89e-4
1,000 getVertex0.052.17e+42.66e-7
1,000 getEdge23.6842.230.00
tarjan214.154.670.01
tarjan all214.514.660.00
topologicalSort182.645.480.01
+
test nametime taken (ms)executions per secsample deviation
1,000 addVertex0.119381.523.21e-6
1,000 addEdge6.36157.147.19e-4
1,000 getVertex0.052.09e+42.72e-6
1,000 getEdge24.6640.550.00
tarjan219.654.550.01
tarjan all239.684.170.04
topologicalSort216.144.630.07
hash-map
-
test nametime taken (ms)executions per secsample deviation
10,000 set16.5160.579.87e-4
10,000 set & get34.7528.776.11e-4
+
test nametime taken (ms)executions per secsample deviation
10,000 set19.5051.270.01
10,000 set & get38.2026.180.01
heap
-
test nametime taken (ms)executions per secsample deviation
10,000 add & pop4.62216.344.19e-5
10,000 fib add & pop358.772.790.00
+
test nametime taken (ms)executions per secsample deviation
10,000 add & pop4.86205.697.04e-4
10,000 fib add & pop386.502.590.03
doubly-linked-list
-
test nametime taken (ms)executions per secsample deviation
1,000,000 unshift232.434.300.09
1,000,000 unshift & shift174.595.730.05
1,000,000 insertBefore322.713.100.07
+
test nametime taken (ms)executions per secsample deviation
1,000,000 unshift243.464.110.05
1,000,000 unshift & shift178.495.600.02
1,000,000 insertBefore326.383.060.07
singly-linked-list
-
test nametime taken (ms)executions per secsample deviation
10,000 push & pop216.354.620.01
10,000 insertBefore246.914.050.00
+
test nametime taken (ms)executions per secsample deviation
10,000 push & pop232.854.290.01
10,000 insertBefore255.903.910.01
max-priority-queue
-
test nametime taken (ms)executions per secsample deviation
10,000 refill & poll11.6785.712.89e-4
+
test nametime taken (ms)executions per secsample deviation
10,000 refill & poll11.8884.150.00
priority-queue
-
test nametime taken (ms)executions per secsample deviation
10,000 add & pop12.4380.441.15e-4
+
test nametime taken (ms)executions per secsample deviation
10,000 add & pop12.6079.351.40e-4
deque
-
test nametime taken (ms)executions per secsample deviation
1,000,000 push222.164.500.06
1,000,000 shift26.3337.980.00
+
test nametime taken (ms)executions per secsample deviation
1,000,000 push226.324.420.03
1,000,000 shift26.0938.330.00
queue
-
test nametime taken (ms)executions per secsample deviation
1,000,000 push45.9921.740.01
1,000,000 push & shift80.4912.420.00
+
test nametime taken (ms)executions per secsample deviation
1,000,000 push45.4522.000.01
1,000,000 push & shift82.8712.070.00
stack
-
test nametime taken (ms)executions per secsample deviation
1,000,000 push44.0422.710.01
1,000,000 push & pop50.0619.980.01
+
test nametime taken (ms)executions per secsample deviation
1,000,000 push43.9522.750.01
1,000,000 push & pop50.9119.640.00
trie
-
test nametime taken (ms)executions per secsample deviation
100,000 push44.8722.297.28e-4
100,000 getWords88.4511.310.00
+
test nametime taken (ms)executions per secsample deviation
100,000 push50.2019.920.00
100,000 getWords110.089.080.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); + } diff --git a/test/performance/data-structures/binary-tree/rb-tree.test.ts b/test/performance/data-structures/binary-tree/rb-tree.test.ts index 7e4d60c..2dd7e44 100644 --- a/test/performance/data-structures/binary-tree/rb-tree.test.ts +++ b/test/performance/data-structures/binary-tree/rb-tree.test.ts @@ -11,7 +11,7 @@ const arr = getRandomIntArray(HUNDRED_THOUSAND, 0, HUNDRED_THOUSAND, true); const competitor = new OrderedMap(); suite - .add(`${HUNDRED_THOUSAND.toLocaleString()} add randomly`, () => { + .add(`${HUNDRED_THOUSAND.toLocaleString()} add`, () => { rbTree.clear(); for (let i = 0; i < arr.length; i++) { rbTree.add(arr[i]); @@ -20,7 +20,7 @@ suite if (isCompetitor) { - suite.add(`${HUNDRED_THOUSAND.toLocaleString()} competitor add randomly`, () => { + suite.add(`${HUNDRED_THOUSAND.toLocaleString()} competitor add`, () => { for (let i = 0; i < arr.length; i++) { competitor.setElement(arr[i], arr[i]); }