data-structure-typed 1.39.2 → 1.39.4

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.
Files changed (98) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +11 -11
  3. package/dist/cjs/data-structures/binary-tree/avl-tree.js +8 -6
  4. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -1
  5. package/dist/cjs/data-structures/binary-tree/binary-indexed-tree.js.map +1 -1
  6. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +50 -117
  7. package/dist/cjs/data-structures/binary-tree/binary-tree.js +43 -51
  8. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
  9. package/dist/cjs/data-structures/binary-tree/bst.d.ts +23 -23
  10. package/dist/cjs/data-structures/binary-tree/bst.js +18 -18
  11. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
  12. package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +3 -3
  13. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
  14. package/dist/cjs/data-structures/binary-tree/tree-multiset.d.ts +15 -15
  15. package/dist/cjs/data-structures/binary-tree/tree-multiset.js +9 -9
  16. package/dist/cjs/data-structures/binary-tree/tree-multiset.js.map +1 -1
  17. package/dist/cjs/data-structures/graph/abstract-graph.js.map +1 -1
  18. package/dist/cjs/data-structures/graph/directed-graph.js.map +1 -1
  19. package/dist/cjs/data-structures/graph/undirected-graph.js.map +1 -1
  20. package/dist/cjs/data-structures/hash/hash-map.js.map +1 -1
  21. package/dist/cjs/data-structures/hash/tree-map.js.map +1 -1
  22. package/dist/cjs/data-structures/hash/tree-set.js.map +1 -1
  23. package/dist/cjs/data-structures/heap/heap.js.map +1 -1
  24. package/dist/cjs/data-structures/heap/max-heap.js.map +1 -1
  25. package/dist/cjs/data-structures/heap/min-heap.js.map +1 -1
  26. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +1 -1
  27. package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +1 -1
  28. package/dist/cjs/data-structures/matrix/matrix.js.map +1 -1
  29. package/dist/cjs/data-structures/matrix/vector2d.js.map +1 -1
  30. package/dist/cjs/data-structures/priority-queue/max-priority-queue.js.map +1 -1
  31. package/dist/cjs/data-structures/priority-queue/min-priority-queue.js.map +1 -1
  32. package/dist/cjs/data-structures/priority-queue/priority-queue.js.map +1 -1
  33. package/dist/cjs/data-structures/queue/deque.js.map +1 -1
  34. package/dist/cjs/data-structures/queue/queue.js.map +1 -1
  35. package/dist/cjs/interfaces/binary-tree.d.ts +4 -4
  36. package/dist/cjs/types/data-structures/binary-tree/binary-tree.d.ts +1 -1
  37. package/dist/cjs/types/data-structures/binary-tree/bst.d.ts +2 -2
  38. package/dist/cjs/types/helpers.d.ts +1 -1
  39. package/dist/mjs/data-structures/binary-tree/avl-tree.d.ts +11 -11
  40. package/dist/mjs/data-structures/binary-tree/avl-tree.js +8 -6
  41. package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +50 -117
  42. package/dist/mjs/data-structures/binary-tree/binary-tree.js +43 -51
  43. package/dist/mjs/data-structures/binary-tree/bst.d.ts +23 -23
  44. package/dist/mjs/data-structures/binary-tree/bst.js +18 -18
  45. package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +3 -3
  46. package/dist/mjs/data-structures/binary-tree/tree-multiset.d.ts +15 -15
  47. package/dist/mjs/data-structures/binary-tree/tree-multiset.js +9 -9
  48. package/dist/mjs/interfaces/binary-tree.d.ts +4 -4
  49. package/dist/mjs/types/data-structures/binary-tree/binary-tree.d.ts +1 -1
  50. package/dist/mjs/types/data-structures/binary-tree/bst.d.ts +2 -2
  51. package/dist/mjs/types/helpers.d.ts +1 -1
  52. package/dist/umd/data-structure-typed.min.js +1 -1
  53. package/dist/umd/data-structure-typed.min.js.map +1 -1
  54. package/package.json +5 -5
  55. package/src/data-structures/binary-tree/avl-tree.ts +16 -14
  56. package/src/data-structures/binary-tree/binary-indexed-tree.ts +1 -1
  57. package/src/data-structures/binary-tree/binary-tree.ts +145 -84
  58. package/src/data-structures/binary-tree/bst.ts +37 -38
  59. package/src/data-structures/binary-tree/rb-tree.ts +7 -6
  60. package/src/data-structures/binary-tree/tree-multiset.ts +18 -17
  61. package/src/data-structures/graph/abstract-graph.ts +11 -10
  62. package/src/data-structures/graph/directed-graph.ts +2 -1
  63. package/src/data-structures/graph/undirected-graph.ts +5 -4
  64. package/src/data-structures/hash/hash-map.ts +1 -1
  65. package/src/data-structures/hash/tree-map.ts +1 -2
  66. package/src/data-structures/hash/tree-set.ts +1 -2
  67. package/src/data-structures/heap/heap.ts +2 -2
  68. package/src/data-structures/heap/max-heap.ts +1 -1
  69. package/src/data-structures/heap/min-heap.ts +1 -1
  70. package/src/data-structures/linked-list/doubly-linked-list.ts +1 -1
  71. package/src/data-structures/linked-list/singly-linked-list.ts +1 -1
  72. package/src/data-structures/matrix/matrix.ts +1 -1
  73. package/src/data-structures/matrix/vector2d.ts +1 -2
  74. package/src/data-structures/priority-queue/max-priority-queue.ts +1 -1
  75. package/src/data-structures/priority-queue/min-priority-queue.ts +1 -1
  76. package/src/data-structures/priority-queue/priority-queue.ts +1 -1
  77. package/src/data-structures/queue/deque.ts +4 -5
  78. package/src/data-structures/queue/queue.ts +1 -1
  79. package/src/interfaces/binary-tree.ts +4 -4
  80. package/src/types/data-structures/binary-tree/binary-tree.ts +1 -1
  81. package/src/types/data-structures/binary-tree/bst.ts +2 -2
  82. package/src/types/data-structures/matrix/navigator.ts +1 -1
  83. package/src/types/helpers.ts +1 -1
  84. package/src/types/utils/utils.ts +1 -1
  85. package/src/types/utils/validate-type.ts +2 -2
  86. package/test/integration/bst.test.ts +1 -1
  87. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +1 -1
  88. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +14 -9
  89. package/test/unit/data-structures/binary-tree/bst.test.ts +6 -6
  90. package/test/unit/data-structures/binary-tree/overall.test.ts +1 -1
  91. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +2 -2
  92. package/test/unit/data-structures/hash/coordinate-map.test.ts +2 -2
  93. package/test/unit/data-structures/hash/coordinate-set.test.ts +2 -2
  94. package/test/unit/data-structures/heap/heap.test.ts +2 -2
  95. package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +2 -6
  96. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +4 -7
  97. package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +2 -2
  98. package/test/utils/big-o.ts +1 -1
@@ -1,10 +1,10 @@
1
1
  import {BinaryTreeNode} from '../data-structures';
2
- import {BinaryTreeDeletedResult, BinaryTreeNodeKey, BinaryTreeNodeNested, OneParamCallback} from '../types';
2
+ import {BinaryTreeDeletedResult, BTNKey, BinaryTreeNodeNested, BTNCallback} from '../types';
3
3
 
4
4
  export interface IBinaryTree<V = any, N extends BinaryTreeNode<V, N> = BinaryTreeNodeNested<V>> {
5
- createNode(key: BinaryTreeNodeKey, val?: N['val']): N;
5
+ createNode(key: BTNKey, val?: N['val']): N;
6
6
 
7
- add(keyOrNode: BinaryTreeNodeKey | N | null, val?: N['val']): N | null | undefined;
7
+ add(keyOrNode: BTNKey | N | null, val?: N['val']): N | null | undefined;
8
8
 
9
- delete<C extends OneParamCallback<N>>(identifier: ReturnType<C> | null, callback: C): BinaryTreeDeletedResult<N>[];
9
+ delete<C extends BTNCallback<N>>(identifier: ReturnType<C> | null, callback: C): BinaryTreeDeletedResult<N>[];
10
10
  }
@@ -22,7 +22,7 @@ export enum FamilyPosition {
22
22
  MAL_NODE = 'MAL_NODE'
23
23
  }
24
24
 
25
- export type BinaryTreeNodeKey = number;
25
+ export type BTNKey = number;
26
26
 
27
27
  export type BinaryTreeDeletedResult<N> = { deleted: N | null | undefined; needBalanced: N | null };
28
28
 
@@ -1,7 +1,7 @@
1
1
  import {BSTNode} from '../../../data-structures';
2
- import type {BinaryTreeNodeKey, BinaryTreeOptions} from './binary-tree';
2
+ import type {BTNKey, BinaryTreeOptions} from './binary-tree';
3
3
 
4
- export type BSTComparator = (a: BinaryTreeNodeKey, b: BinaryTreeNodeKey) => number;
4
+ export type BSTComparator = (a: BTNKey, b: BTNKey) => number;
5
5
 
6
6
  // prettier-ignore
7
7
  export type BSTNodeNested<T> = BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@@ -1,6 +1,6 @@
1
1
  export type Direction = 'up' | 'right' | 'down' | 'left';
2
2
 
3
- export type Turning = { [key in Direction]: Direction };
3
+ export type Turning = {[key in Direction]: Direction};
4
4
 
5
5
  export type NavigatorParams<T = any> = {
6
6
  matrix: T[][];
@@ -2,7 +2,7 @@ export type Comparator<T> = (a: T, b: T) => number;
2
2
 
3
3
  export type DFSOrderPattern = 'pre' | 'in' | 'post';
4
4
 
5
- export type OneParamCallback<N, D = any> = (node: N) => D;
5
+ export type BTNCallback<N, D = any> = (node: N) => D;
6
6
 
7
7
  export enum CP {
8
8
  lt = 'lt',
@@ -1,5 +1,5 @@
1
1
  export type ToThunkFn = () => ReturnType<TrlFn>;
2
- export type Thunk = () => ReturnType<ToThunkFn> & { __THUNK__: symbol };
2
+ export type Thunk = () => ReturnType<ToThunkFn> & {__THUNK__: symbol};
3
3
  export type TrlFn = (...args: any[]) => any;
4
4
  export type TrlAsyncFn = (...args: any[]) => any;
5
5
 
@@ -1,6 +1,6 @@
1
- export type KeyValueObject = { [key: string]: any };
1
+ export type KeyValueObject = {[key: string]: any};
2
2
 
3
- export type KeyValueObjectWithKey = { [key: string]: any; key: string | number | symbol };
3
+ export type KeyValueObjectWithKey = {[key: string]: any; key: string | number | symbol};
4
4
 
5
5
  export type NonNumberNonObjectButDefined = string | boolean | symbol | null;
6
6
 
@@ -183,7 +183,7 @@ describe('Individual package BST operations test', () => {
183
183
  });
184
184
 
185
185
  it('should perform various operations on a Binary Search Tree with object values', () => {
186
- const objBST = new BST<{ key: number; keyA: number }>();
186
+ const objBST = new BST<{key: number; keyA: number}>();
187
187
  expect(objBST).toBeInstanceOf(BST);
188
188
  objBST.add(11, {key: 11, keyA: 11});
189
189
  objBST.add(3, {key: 3, keyA: 3});
@@ -219,7 +219,7 @@ describe('AVL Tree Test recursively', () => {
219
219
  });
220
220
 
221
221
  describe('AVLTree APIs test', () => {
222
- const avl = new AVLTree<{ id: number; text: string }>();
222
+ const avl = new AVLTree<{id: number; text: string}>();
223
223
  beforeEach(() => {
224
224
  avl.clear();
225
225
  });
@@ -71,10 +71,10 @@ describe('BinaryTreeNode', () => {
71
71
  });
72
72
 
73
73
  describe('BinaryTree', () => {
74
- let tree: BinaryTree;
74
+ let tree: BinaryTree<number>;
75
75
 
76
76
  beforeEach(() => {
77
- tree = new BinaryTree();
77
+ tree = new BinaryTree<number>();
78
78
  });
79
79
 
80
80
  afterEach(() => {
@@ -99,16 +99,18 @@ describe('BinaryTree', () => {
99
99
  });
100
100
 
101
101
  it('should add and find nodes', () => {
102
- tree.add(1);
103
- tree.add(2);
104
- tree.add(3);
102
+ tree.add(1, 1);
103
+ tree.add(2, 2);
104
+ tree.add(3, 3);
105
105
 
106
106
  expect(tree.has(1)).toBe(true);
107
107
  expect(tree.has(2)).toBe(true);
108
108
  expect(tree.has(3)).toBe(true);
109
109
  expect(tree.has(4)).toBe(false);
110
110
  const node4 = tree.get(4);
111
+ expect(tree.has(node4)).toBe(false);
111
112
  expect(tree.has(node4, node => node)).toBe(false);
113
+ expect(tree.has('3', node => node.val?.toString())).toBe(true);
112
114
  });
113
115
 
114
116
  it('should getDepth return correct depth', () => {
@@ -241,7 +243,7 @@ describe('BinaryTree Morris Traversal', () => {
241
243
  });
242
244
 
243
245
  describe('BinaryTree APIs test', () => {
244
- const avl = new AVLTree<{ id: number; text: string }>();
246
+ const avl = new AVLTree<{id: number; text: string}>();
245
247
  beforeEach(() => {
246
248
  avl.clear();
247
249
  });
@@ -265,10 +267,14 @@ describe('BinaryTree traversals', () => {
265
267
  const arr = [35, 20, 40, 15, 29, null, 50, null, 16, 28, 30, 45, 55];
266
268
  tree.refill(arr);
267
269
  expect(tree.dfs(node => node.key, 'pre')).toEqual([35, 20, 15, 16, 29, 28, 30, 40, 50, 45, 55]);
268
- expect(tree.dfs(node => node.key, 'pre', tree.root, IterationType.RECURSIVE)).toEqual([35, 20, 15, 16, 29, 28, 30, 40, 50, 45, 55]);
270
+ expect(tree.dfs(node => node.key, 'pre', tree.root, IterationType.RECURSIVE)).toEqual([
271
+ 35, 20, 15, 16, 29, 28, 30, 40, 50, 45, 55
272
+ ]);
269
273
  expect(tree.dfs(node => node.key, 'in')).toEqual([15, 16, 20, 28, 29, 30, 35, 40, 45, 50, 55]);
270
274
  expect(tree.dfs(node => node.key, 'post')).toEqual([16, 15, 28, 30, 29, 20, 45, 55, 50, 40, 35]);
271
- expect(tree.dfs(node => node.key, 'post', tree.root, IterationType.RECURSIVE)).toEqual([16, 15, 28, 30, 29, 20, 45, 55, 50, 40, 35]);
275
+ expect(tree.dfs(node => node.key, 'post', tree.root, IterationType.RECURSIVE)).toEqual([
276
+ 16, 15, 28, 30, 29, 20, 45, 55, 50, 40, 35
277
+ ]);
272
278
  expect(tree.bfs(node => node.key, tree.root, IterationType.RECURSIVE)).toEqual([
273
279
  35, 20, 40, 15, 29, 50, 16, 28, 30, 45, 55
274
280
  ]);
@@ -474,7 +480,6 @@ describe('BinaryTree', () => {
474
480
  tree.delete(5);
475
481
  tree.delete(7);
476
482
  tree.delete(3);
477
-
478
483
  expect(tree.root).toBe(null);
479
484
  expect(tree.getHeight()).toBe(-1);
480
485
  });
@@ -189,7 +189,7 @@ describe('BST operations test', () => {
189
189
  });
190
190
 
191
191
  it('should perform various operations on a Binary Search Tree with object values', () => {
192
- const objBST = new BST<{ key: number; keyA: number }>();
192
+ const objBST = new BST<{key: number; keyA: number}>();
193
193
  expect(objBST).toBeInstanceOf(BST);
194
194
  objBST.add(11, {key: 11, keyA: 11});
195
195
  objBST.add(3, {key: 3, keyA: 3});
@@ -260,7 +260,7 @@ describe('BST operations test', () => {
260
260
  objBST.perfectlyBalance();
261
261
  expect(objBST.isPerfectlyBalanced()).toBe(true);
262
262
 
263
- const bfsNodesAfterBalanced: BSTNode<{ key: number; keyA: number }>[] = [];
263
+ const bfsNodesAfterBalanced: BSTNode<{key: number; keyA: number}>[] = [];
264
264
  objBST.bfs(node => bfsNodesAfterBalanced.push(node));
265
265
  expect(bfsNodesAfterBalanced[0].key).toBe(8);
266
266
  expect(bfsNodesAfterBalanced[bfsNodesAfterBalanced.length - 1].key).toBe(16);
@@ -385,7 +385,7 @@ describe('BST operations test', () => {
385
385
  expect(bfsIDs[1]).toBe(12);
386
386
  expect(bfsIDs[2]).toBe(16);
387
387
 
388
- const bfsNodes: BSTNode<{ key: number; keyA: number }>[] = [];
388
+ const bfsNodes: BSTNode<{key: number; keyA: number}>[] = [];
389
389
  objBST.bfs(node => bfsNodes.push(node));
390
390
  expect(bfsNodes[0].key).toBe(2);
391
391
  expect(bfsNodes[1].key).toBe(12);
@@ -579,7 +579,7 @@ describe('BST operations test recursively', () => {
579
579
  });
580
580
 
581
581
  it('should perform various operations on a Binary Search Tree with object values', () => {
582
- const objBST = new BST<{ key: number; keyA: number }>();
582
+ const objBST = new BST<{key: number; keyA: number}>();
583
583
  expect(objBST).toBeInstanceOf(BST);
584
584
  objBST.add(11, {key: 11, keyA: 11});
585
585
  objBST.add(3, {key: 3, keyA: 3});
@@ -650,7 +650,7 @@ describe('BST operations test recursively', () => {
650
650
  objBST.perfectlyBalance();
651
651
  expect(objBST.isPerfectlyBalanced()).toBe(true);
652
652
 
653
- const bfsNodesAfterBalanced: BSTNode<{ key: number; keyA: number }>[] = [];
653
+ const bfsNodesAfterBalanced: BSTNode<{key: number; keyA: number}>[] = [];
654
654
  objBST.bfs(node => bfsNodesAfterBalanced.push(node));
655
655
  expect(bfsNodesAfterBalanced[0].key).toBe(8);
656
656
  expect(bfsNodesAfterBalanced[bfsNodesAfterBalanced.length - 1].key).toBe(16);
@@ -775,7 +775,7 @@ describe('BST operations test recursively', () => {
775
775
  expect(bfsIDs[1]).toBe(12);
776
776
  expect(bfsIDs[2]).toBe(16);
777
777
 
778
- const bfsNodes: BSTNode<{ key: number; keyA: number }>[] = [];
778
+ const bfsNodes: BSTNode<{key: number; keyA: number}>[] = [];
779
779
  objBST.bfs(node => bfsNodes.push(node));
780
780
  expect(bfsNodes[0].key).toBe(2);
781
781
  expect(bfsNodes[1].key).toBe(12);
@@ -29,7 +29,7 @@ describe('Overall BinaryTree Test', () => {
29
29
  bfsIDs[0] === 11; // true
30
30
  expect(bfsIDs[0]).toBe(11);
31
31
 
32
- const objBST = new BST<{ key: number; keyA: number }>();
32
+ const objBST = new BST<{key: number; keyA: number}>();
33
33
  objBST.add(11, {key: 11, keyA: 11});
34
34
  objBST.add(3, {key: 3, keyA: 3});
35
35
 
@@ -207,7 +207,7 @@ describe('TreeMultiset operations test', () => {
207
207
  });
208
208
 
209
209
  it('should perform various operations on a Binary Search Tree with object values', () => {
210
- const objTreeMultiset = new TreeMultiset<{ key: number; keyA: number }>();
210
+ const objTreeMultiset = new TreeMultiset<{key: number; keyA: number}>();
211
211
  expect(objTreeMultiset).toBeInstanceOf(TreeMultiset);
212
212
  objTreeMultiset.add(11, {key: 11, keyA: 11});
213
213
  objTreeMultiset.add(3, {key: 3, keyA: 3});
@@ -447,7 +447,7 @@ describe('TreeMultiset operations test recursively', () => {
447
447
  });
448
448
 
449
449
  it('should perform various operations on a Binary Search Tree with object values', () => {
450
- const objTreeMultiset = new TreeMultiset<{ key: number; keyA: number }>();
450
+ const objTreeMultiset = new TreeMultiset<{key: number; keyA: number}>();
451
451
  expect(objTreeMultiset).toBeInstanceOf(TreeMultiset);
452
452
  objTreeMultiset.add(11, {key: 11, keyA: 11});
453
453
  objTreeMultiset.add(3, {key: 3, keyA: 3});
@@ -57,7 +57,7 @@ describe('CoordinateMap', () => {
57
57
  class MyCoordinateMap<V = any> extends CoordinateMap<V> {
58
58
  constructor(joint?: string) {
59
59
  super(joint);
60
- this._setJoint(joint += '-')
60
+ this._setJoint((joint += '-'));
61
61
  }
62
62
  }
63
63
 
@@ -67,7 +67,7 @@ describe('CoordinateMap', () => {
67
67
  cMap.set([0, 0], 0);
68
68
  cMap.set([0, 1], 1);
69
69
  cMap.set([1, 1], 11);
70
- })
70
+ });
71
71
  it('should joint to be *-', () => {
72
72
  expect(cMap.joint).toBe('*-');
73
73
  });
@@ -44,7 +44,7 @@ describe('MyCoordinateSet', () => {
44
44
  class MyCoordinateSet extends CoordinateSet {
45
45
  constructor(joint?: string) {
46
46
  super(joint);
47
- this._setJoint(joint += '-')
47
+ this._setJoint((joint += '-'));
48
48
  }
49
49
  }
50
50
 
@@ -54,7 +54,7 @@ describe('MyCoordinateSet', () => {
54
54
  mySet.add([0, 0]);
55
55
  mySet.add([0, 1]);
56
56
  mySet.add([1, 1]);
57
- })
57
+ });
58
58
  it('should joint to be *-', () => {
59
59
  expect(mySet.joint).toBe('*-');
60
60
  });
@@ -22,7 +22,7 @@ describe('Heap Operation Test', () => {
22
22
  });
23
23
 
24
24
  it('should object heap work well', function () {
25
- const minHeap = new MinHeap<{ a: string; key: number }>({comparator: (a, b) => a.key - b.key});
25
+ const minHeap = new MinHeap<{a: string; key: number}>({comparator: (a, b) => a.key - b.key});
26
26
  minHeap.add({key: 1, a: 'a1'});
27
27
  minHeap.add({key: 6, a: 'a6'});
28
28
  minHeap.add({key: 2, a: 'a2'});
@@ -37,7 +37,7 @@ describe('Heap Operation Test', () => {
37
37
  i++;
38
38
  }
39
39
 
40
- const maxHeap = new MaxHeap<{ key: number; a: string }>({comparator: (a, b) => b.key - a.key});
40
+ const maxHeap = new MaxHeap<{key: number; a: string}>({comparator: (a, b) => b.key - a.key});
41
41
  maxHeap.add({key: 1, a: 'a1'});
42
42
  maxHeap.add({key: 6, a: 'a6'});
43
43
  maxHeap.add({key: 5, a: 'a5'});
@@ -7,7 +7,7 @@ describe('DoublyLinkedListNode', () => {
7
7
  expect(node1.val).toBe(2);
8
8
  node1.val = 1;
9
9
  expect(node1.val).toBe(1);
10
- })
10
+ });
11
11
  });
12
12
 
13
13
  describe('DoublyLinkedList Operation Test', () => {
@@ -38,10 +38,8 @@ describe('DoublyLinkedList Operation Test', () => {
38
38
  expect(list.tail?.val).toBe(4);
39
39
  });
40
40
 
41
-
42
41
  it('should find null', () => {
43
42
  expect(list.find(val => val === 6)).toBe(null);
44
-
45
43
  });
46
44
 
47
45
  it('should indexOf -1', () => {
@@ -60,13 +58,11 @@ describe('DoublyLinkedList Operation Test', () => {
60
58
  // @ts-ignore
61
59
  expect([...list]).toEqual([1, 2, 3, 4, 5]);
62
60
  });
63
-
64
-
65
61
  });
66
62
 
67
63
  describe('DoublyLinkedList Operation Test', () => {
68
64
  let list: DoublyLinkedList<number>;
69
- let objectList: DoublyLinkedList<{ keyA: number }>;
65
+ let objectList: DoublyLinkedList<{keyA: number}>;
70
66
 
71
67
  beforeEach(() => {
72
68
  list = new DoublyLinkedList();
@@ -7,15 +7,15 @@ describe('SinglyLinkedListNode', () => {
7
7
  expect(node1.val).toBe(2);
8
8
  node1.val = 1;
9
9
  expect(node1.val).toBe(1);
10
- })
10
+ });
11
11
  });
12
12
 
13
13
  describe('SinglyLinkedList Operation Test', () => {
14
14
  let list: SinglyLinkedList<number>;
15
- let objectList: SinglyLinkedList<{ keyA: number }>;
15
+ let objectList: SinglyLinkedList<{keyA: number}>;
16
16
  beforeEach(() => {
17
17
  list = new SinglyLinkedList<number>();
18
- objectList = new SinglyLinkedList<{ keyA: number }>();
18
+ objectList = new SinglyLinkedList<{keyA: number}>();
19
19
  });
20
20
 
21
21
  describe('push', () => {
@@ -446,7 +446,6 @@ describe('SinglyLinkedList', () => {
446
446
  expect(list.length).toBe(1);
447
447
  });
448
448
 
449
-
450
449
  it('should reverse the list', () => {
451
450
  list.push(1);
452
451
  list.push(2);
@@ -457,7 +456,6 @@ describe('SinglyLinkedList', () => {
457
456
  // Add more assertions for reversed order.
458
457
  });
459
458
 
460
-
461
459
  it('should convert the list to an array', () => {
462
460
  list.push(1);
463
461
  list.push(2);
@@ -475,13 +473,12 @@ describe('SinglyLinkedList', () => {
475
473
  expect(list.filter(val => val !== 2).toArray()).toEqual([1, 3]);
476
474
  });
477
475
 
478
-
479
476
  it('should forEach the list', () => {
480
477
  list.push(1);
481
478
  list.push(2);
482
479
  list.push(3);
483
480
  list.forEach(val => val++);
484
- expect(list.toArray()).toEqual([1, 2, 3])
481
+ expect(list.toArray()).toEqual([1, 2, 3]);
485
482
  });
486
483
 
487
484
  it('should map the list', () => {
@@ -17,7 +17,7 @@ describe('MaxPriorityQueue Operation Test', () => {
17
17
  });
18
18
 
19
19
  it('should add elements and maintain heap property in a object MaxPriorityQueue', () => {
20
- const priorityQueue = new MaxPriorityQueue<{ keyA: number }>({comparator: (a, b) => b.keyA - a.keyA});
20
+ const priorityQueue = new MaxPriorityQueue<{keyA: number}>({comparator: (a, b) => b.keyA - a.keyA});
21
21
  priorityQueue.refill([{keyA: 5}, {keyA: 3}, {keyA: 1}]);
22
22
  priorityQueue.add({keyA: 7});
23
23
 
@@ -64,7 +64,7 @@ describe('MaxPriorityQueue Operation Test', () => {
64
64
 
65
65
  it('should correctly heapify an object array', () => {
66
66
  const nodes = [{keyA: 5}, {keyA: 3}, {keyA: 7}, {keyA: 1}];
67
- const maxPQ = MaxPriorityQueue.heapify<{ keyA: number }>({nodes: nodes, comparator: (a, b) => b.keyA - a.keyA});
67
+ const maxPQ = MaxPriorityQueue.heapify<{keyA: number}>({nodes: nodes, comparator: (a, b) => b.keyA - a.keyA});
68
68
 
69
69
  expect(maxPQ.poll()?.keyA).toBe(7);
70
70
  expect(maxPQ.poll()?.keyA).toBe(5);
@@ -26,7 +26,7 @@ export const bigO = {
26
26
 
27
27
  function findPotentialN(input: any): number {
28
28
  let longestArray: any[] = [];
29
- let mostProperties: { [key: string]: any } = {};
29
+ let mostProperties: {[key: string]: any} = {};
30
30
 
31
31
  function recurse(obj: any) {
32
32
  if (Array.isArray(obj)) {