data-structure-typed 1.50.9 → 1.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -8,7 +8,7 @@ All notable changes to this project will be documented in this file.
8
8
  - [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
9
9
  - [`auto-changelog`](https://github.com/CookPete/auto-changelog)
10
10
 
11
- ## [v1.50.9](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
11
+ ## [v1.51.0](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
12
12
 
13
13
  ### Changes
14
14
 
package/README.md CHANGED
@@ -104,7 +104,7 @@ Performance surpasses that of native JS/TS
104
104
  ### Conciseness and uniformity
105
105
  In [java.utils](), you need to memorize a table for all sequential data structures(Queue, Deque, LinkedList),
106
106
 
107
- <table>
107
+ <table style="display: table; width:100%; table-layout: fixed;">
108
108
  <thead>
109
109
  <tr>
110
110
  <th>Java ArrayList</th>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "data-structure-typed",
3
- "version": "1.50.9",
3
+ "version": "1.51.0",
4
4
  "description": "Javascript Data Structure. Heap, Binary Tree, Red Black Tree, Linked List, Deque, Trie, HashMap, Directed Graph, Undirected Graph, Binary Search Tree(BST), AVL Tree, Priority Queue, Graph, Queue, Tree Multiset, Singly Linked List, Doubly Linked List, Max Heap, Max Priority Queue, Min Heap, Min Priority Queue, Stack. Benchmark compared with C++ STL. API aligned with ES6 and Java.util. Usability is comparable to Python",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/mjs/index.js",
@@ -34,7 +34,7 @@
34
34
  "format:test": "prettier --write 'test/**/*.{js,ts}'",
35
35
  "format": "npm run format:src && npm run format:test",
36
36
  "check:exist-latest": "sh scripts/check_exist_remotely.sh",
37
- "ci": "env && git fetch --tags && npm run inspect && npm run lint && npm run build && npm run test:unit && npm run changelog",
37
+ "ci": "env && git fetch --tags && npm run update:subs && npm run inspect && npm run lint && npm run build && npm run test:unit && npm run changelog",
38
38
  "update:subs": "npm i avl-tree-typed binary-tree-typed bst-typed heap-typed data-structure-typed --save-dev",
39
39
  "install:all-subs": "npm i avl-tree-typed binary-tree-typed bst-typed deque-typed directed-graph-typed doubly-linked-list-typed graph-typed heap-typed linked-list-typed max-heap-typed max-priority-queue-typed min-heap-typed min-priority-queue-typed priority-queue-typed singly-linked-list-typed stack-typed tree-multimap-typed trie-typed undirected-graph-typed queue-typed --save-dev",
40
40
  "changelog": "auto-changelog",
@@ -66,11 +66,11 @@
66
66
  "@typescript-eslint/eslint-plugin": "^6.7.4",
67
67
  "@typescript-eslint/parser": "^6.7.4",
68
68
  "auto-changelog": "^2.4.0",
69
- "avl-tree-typed": "^1.50.7",
69
+ "avl-tree-typed": "^1.50.9",
70
70
  "benchmark": "^2.1.4",
71
- "binary-tree-typed": "^1.50.7",
72
- "bst-typed": "^1.50.7",
73
- "data-structure-typed": "^1.50.7",
71
+ "binary-tree-typed": "^1.50.9",
72
+ "bst-typed": "^1.50.9",
73
+ "data-structure-typed": "^1.50.9",
74
74
  "dependency-cruiser": "^14.1.0",
75
75
  "doctoc": "^2.2.1",
76
76
  "eslint": "^8.50.0",
@@ -79,7 +79,7 @@
79
79
  "eslint-import-resolver-typescript": "^3.6.1",
80
80
  "eslint-plugin-import": "^2.28.1",
81
81
  "fast-glob": "^3.3.1",
82
- "heap-typed": "^1.50.7",
82
+ "heap-typed": "^1.50.9",
83
83
  "istanbul-badges-readme": "^1.8.5",
84
84
  "jest": "^29.7.0",
85
85
  "js-sdsl": "^4.4.2",
@@ -1,4 +1,4 @@
1
- import { AVLTree, CP } from 'avl-tree-typed';
1
+ import { AVLTree } from 'avl-tree-typed';
2
2
 
3
3
  describe('AVL Tree Test', () => {
4
4
  it('should perform various operations on a AVL Tree', () => {
@@ -40,17 +40,17 @@ describe('AVL Tree Test', () => {
40
40
  expect(getMinNodeBySpecificNode?.key).toBe(12);
41
41
 
42
42
  let subTreeSum = 0;
43
- node15 && tree.dfs(node => (subTreeSum += node.key), 'in', 15);
43
+ node15 && tree.dfs(node => (subTreeSum += node.key), 'IN', 15);
44
44
  expect(subTreeSum).toBe(70);
45
45
 
46
46
  let lesserSum = 0;
47
- tree.lesserOrGreaterTraverse(node => (lesserSum += node.key), CP.lt, 10);
47
+ tree.lesserOrGreaterTraverse(node => (lesserSum += node.key), 'LT', 10);
48
48
  expect(lesserSum).toBe(45);
49
49
 
50
50
  // node15 has type problem. After the uniform design, the generics of containers (DirectedGraph, BST) are based on the type of value. However, this design has a drawback: when I attempt to inherit from the Vertex or BSTNode classes, the types of the results obtained by all methods are those of the parent class.
51
51
  expect(node15?.value).toBe(15);
52
52
 
53
- const dfs = tree.dfs(node => node, 'in');
53
+ const dfs = tree.dfs(node => node, 'IN');
54
54
  expect(dfs[0].key).toBe(1);
55
55
  expect(dfs[dfs.length - 1].key).toBe(16);
56
56
 
@@ -1,4 +1,4 @@
1
- import { BST, BSTNode, CP } from 'bst-typed';
1
+ import { BST, BSTNode } from 'bst-typed';
2
2
 
3
3
  describe('Individual package BST operations test', () => {
4
4
  it('should perform various operations on a Binary Search Tree with numeric values', () => {
@@ -34,11 +34,11 @@ describe('Individual package BST operations test', () => {
34
34
  expect(minNodeBySpecificNode?.key).toBe(12);
35
35
 
36
36
  let subTreeSum = 0;
37
- node15 && bst.dfs(node => (subTreeSum += node.key), 'in', 15);
37
+ node15 && bst.dfs(node => (subTreeSum += node.key), 'IN', 15);
38
38
  expect(subTreeSum).toBe(70);
39
39
 
40
40
  let lesserSum = 0;
41
- bst.lesserOrGreaterTraverse(node => (lesserSum += node.key), CP.lt, 10);
41
+ bst.lesserOrGreaterTraverse(node => (lesserSum += node.key), 'LT', 10);
42
42
  expect(lesserSum).toBe(45);
43
43
 
44
44
  expect(node15).toBeInstanceOf(BSTNode);
@@ -46,7 +46,7 @@ describe('Individual package BST operations test', () => {
46
46
  const node11 = bst.getNode(11);
47
47
  expect(node11).toBeInstanceOf(BSTNode);
48
48
 
49
- const dfsInorderNodes = bst.dfs(node => node, 'in');
49
+ const dfsInorderNodes = bst.dfs(node => node, 'IN');
50
50
  expect(dfsInorderNodes[0].key).toBe(1);
51
51
  expect(dfsInorderNodes[dfsInorderNodes.length - 1].key).toBe(16);
52
52
 
@@ -231,11 +231,11 @@ describe('Individual package BST operations test', () => {
231
231
  expect(minNodeBySpecificNode?.key).toBe(12);
232
232
 
233
233
  let subTreeSum = 0;
234
- node15 && objBST.dfs(node => (subTreeSum += node.key), 'in', node15);
234
+ node15 && objBST.dfs(node => (subTreeSum += node.key), 'IN', node15);
235
235
  expect(subTreeSum).toBe(70);
236
236
 
237
237
  let lesserSum = 0;
238
- objBST.lesserOrGreaterTraverse(node => (lesserSum += node.key), CP.lt, 10);
238
+ objBST.lesserOrGreaterTraverse(node => (lesserSum += node.key), 'LT', 10);
239
239
  expect(lesserSum).toBe(45);
240
240
 
241
241
  expect(node15).toBeInstanceOf(BSTNode);
@@ -243,7 +243,7 @@ describe('Individual package BST operations test', () => {
243
243
  const node11 = objBST.getNode(11);
244
244
  expect(node11).toBeInstanceOf(BSTNode);
245
245
 
246
- const dfsInorderNodes = objBST.dfs(node => node, 'in');
246
+ const dfsInorderNodes = objBST.dfs(node => node, 'IN');
247
247
  expect(dfsInorderNodes[0].key).toBe(1);
248
248
  expect(dfsInorderNodes[dfsInorderNodes.length - 1].key).toBe(16);
249
249
 
@@ -28,14 +28,14 @@
28
28
  const n = 1000000;
29
29
  const startEn = performance.now();
30
30
  for (let i = 0; i < n; i++) {
31
- queue.enqueue(i);
31
+ queue.push(i);
32
32
  }
33
33
  console.log((performance.now() - startEn).toFixed(2), `Queue ${n.toLocaleString()} enqueue `);
34
34
  let last = 0;
35
35
  const startTime = performance.now();
36
36
 
37
37
  for (let i = 0; i < n; i++) {
38
- last = queue.dequeue();
38
+ last = queue.shift();
39
39
  }
40
40
 
41
41
  console.log((performance.now() - startTime).toFixed(2), `Queue ${n.toLocaleString()} dequeue `);