data-structure-typed 1.36.7 → 1.36.9

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 (84) hide show
  1. package/.eslintrc.js +1 -1
  2. package/CHANGELOG.md +3 -1
  3. package/README.md +8 -0
  4. package/dist/data-structures/binary-tree/avl-tree.d.ts +5 -5
  5. package/dist/data-structures/binary-tree/avl-tree.js +6 -6
  6. package/dist/data-structures/binary-tree/avl-tree.js.map +1 -1
  7. package/dist/data-structures/binary-tree/binary-tree.d.ts +18 -85
  8. package/dist/data-structures/binary-tree/binary-tree.js +76 -128
  9. package/dist/data-structures/binary-tree/binary-tree.js.map +1 -1
  10. package/dist/data-structures/binary-tree/tree-multiset.d.ts +9 -16
  11. package/dist/data-structures/binary-tree/tree-multiset.js +10 -20
  12. package/dist/data-structures/binary-tree/tree-multiset.js.map +1 -1
  13. package/dist/data-structures/hash/hash-map.d.ts +1 -1
  14. package/dist/data-structures/hash/hash-map.js +1 -1
  15. package/dist/data-structures/hash/hash-table.d.ts +3 -3
  16. package/dist/data-structures/hash/hash-table.js +3 -3
  17. package/dist/data-structures/heap/heap.d.ts +136 -11
  18. package/dist/data-structures/heap/heap.js +293 -13
  19. package/dist/data-structures/heap/heap.js.map +1 -1
  20. package/dist/data-structures/linked-list/skip-linked-list.d.ts +3 -3
  21. package/dist/data-structures/linked-list/skip-linked-list.js +3 -3
  22. package/dist/data-structures/queue/deque.d.ts +2 -2
  23. package/dist/data-structures/queue/deque.js +2 -2
  24. package/dist/data-structures/queue/queue.js +1 -1
  25. package/dist/data-structures/trie/trie.d.ts +2 -2
  26. package/dist/data-structures/trie/trie.js +2 -2
  27. package/dist/interfaces/binary-tree.d.ts +1 -1
  28. package/lib/data-structures/binary-tree/avl-tree.d.ts +5 -5
  29. package/lib/data-structures/binary-tree/avl-tree.js +6 -6
  30. package/lib/data-structures/binary-tree/binary-tree.d.ts +18 -85
  31. package/lib/data-structures/binary-tree/binary-tree.js +76 -128
  32. package/lib/data-structures/binary-tree/tree-multiset.d.ts +9 -16
  33. package/lib/data-structures/binary-tree/tree-multiset.js +10 -20
  34. package/lib/data-structures/hash/hash-map.d.ts +1 -1
  35. package/lib/data-structures/hash/hash-map.js +1 -1
  36. package/lib/data-structures/hash/hash-table.d.ts +3 -3
  37. package/lib/data-structures/hash/hash-table.js +3 -3
  38. package/lib/data-structures/heap/heap.d.ts +136 -11
  39. package/lib/data-structures/heap/heap.js +290 -12
  40. package/lib/data-structures/linked-list/skip-linked-list.d.ts +3 -3
  41. package/lib/data-structures/linked-list/skip-linked-list.js +3 -3
  42. package/lib/data-structures/queue/deque.d.ts +2 -2
  43. package/lib/data-structures/queue/deque.js +2 -2
  44. package/lib/data-structures/queue/queue.js +1 -1
  45. package/lib/data-structures/trie/trie.d.ts +2 -2
  46. package/lib/data-structures/trie/trie.js +2 -2
  47. package/lib/interfaces/binary-tree.d.ts +1 -1
  48. package/package.json +7 -6
  49. package/src/data-structures/binary-tree/avl-tree.ts +6 -6
  50. package/src/data-structures/binary-tree/binary-tree.ts +79 -214
  51. package/src/data-structures/binary-tree/rb-tree.ts +3 -3
  52. package/src/data-structures/binary-tree/tree-multiset.ts +10 -21
  53. package/src/data-structures/hash/hash-map.ts +1 -1
  54. package/src/data-structures/hash/hash-table.ts +3 -3
  55. package/src/data-structures/heap/heap.ts +340 -16
  56. package/src/data-structures/linked-list/skip-linked-list.ts +3 -3
  57. package/src/data-structures/queue/deque.ts +2 -2
  58. package/src/data-structures/queue/queue.ts +1 -1
  59. package/src/data-structures/trie/trie.ts +2 -2
  60. package/src/interfaces/binary-tree.ts +1 -1
  61. package/test/types/index.ts +1 -0
  62. package/test/types/utils/big-o.ts +1 -0
  63. package/test/types/utils/index.ts +1 -0
  64. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +14 -14
  65. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +2 -2
  66. package/test/unit/data-structures/binary-tree/bst.test.ts +28 -28
  67. package/test/unit/data-structures/binary-tree/overall.test.ts +3 -3
  68. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +1 -1
  69. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +28 -28
  70. package/test/unit/data-structures/graph/directed-graph.test.ts +1 -1
  71. package/test/unit/data-structures/graph/undirected-graph.test.ts +1 -1
  72. package/test/unit/data-structures/hash/hash-map.test.ts +2 -2
  73. package/test/unit/data-structures/hash/hash-table.test.ts +5 -5
  74. package/test/unit/data-structures/heap/heap.test.ts +192 -1
  75. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +7 -7
  76. package/test/unit/data-structures/linked-list/skip-list.test.ts +2 -2
  77. package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +1 -1
  78. package/test/unit/data-structures/queue/deque.test.ts +3 -3
  79. package/test/unit/data-structures/trie/trie.test.ts +5 -5
  80. package/test/utils/big-o.ts +199 -0
  81. package/test/utils/index.ts +1 -1
  82. package/umd/bundle.min.js +1 -1
  83. package/umd/bundle.min.js.map +1 -1
  84. package/test/utils/magnitude.ts +0 -21
@@ -55,7 +55,7 @@ describe('BST operations test', () => {
55
55
  expect(bfsNodesAfterBalanced[0].key).toBe(8);
56
56
  expect(bfsNodesAfterBalanced[bfsNodesAfterBalanced.length - 1].key).toBe(16);
57
57
 
58
- const removed11 = bst.remove(11);
58
+ const removed11 = bst.delete(11);
59
59
  expect(removed11).toBeInstanceOf(Array);
60
60
  expect(removed11[0]).toBeDefined();
61
61
  expect(removed11[0].deleted).toBeDefined();
@@ -66,7 +66,7 @@ describe('BST operations test', () => {
66
66
 
67
67
  expect(bst.getHeight(15)).toBe(1);
68
68
 
69
- const removed1 = bst.remove(1);
69
+ const removed1 = bst.delete(1);
70
70
  expect(removed1).toBeInstanceOf(Array);
71
71
  expect(removed1[0]).toBeDefined();
72
72
  expect(removed1[0].deleted).toBeDefined();
@@ -76,7 +76,7 @@ describe('BST operations test', () => {
76
76
 
77
77
  expect(bst.getHeight()).toBe(4);
78
78
 
79
- const removed4 = bst.remove(4);
79
+ const removed4 = bst.delete(4);
80
80
  expect(removed4).toBeInstanceOf(Array);
81
81
  expect(removed4[0]).toBeDefined();
82
82
  expect(removed4[0].deleted).toBeDefined();
@@ -84,7 +84,7 @@ describe('BST operations test', () => {
84
84
  expect(bst.isAVLBalanced()).toBe(true);
85
85
  expect(bst.getHeight()).toBe(4);
86
86
 
87
- const removed10 = bst.remove(10);
87
+ const removed10 = bst.delete(10);
88
88
  expect(removed10).toBeInstanceOf(Array);
89
89
  expect(removed10[0]).toBeDefined();
90
90
  expect(removed10[0].deleted).toBeDefined();
@@ -92,7 +92,7 @@ describe('BST operations test', () => {
92
92
  expect(bst.isAVLBalanced()).toBe(false);
93
93
  expect(bst.getHeight()).toBe(4);
94
94
 
95
- const removed15 = bst.remove(15);
95
+ const removed15 = bst.delete(15);
96
96
  expect(removed15).toBeInstanceOf(Array);
97
97
  expect(removed15[0]).toBeDefined();
98
98
  expect(removed15[0].deleted).toBeDefined();
@@ -101,7 +101,7 @@ describe('BST operations test', () => {
101
101
  expect(bst.isAVLBalanced()).toBe(true);
102
102
  expect(bst.getHeight()).toBe(3);
103
103
 
104
- const removed5 = bst.remove(5);
104
+ const removed5 = bst.delete(5);
105
105
  expect(removed5).toBeInstanceOf(Array);
106
106
  expect(removed5[0]).toBeDefined();
107
107
  expect(removed5[0].deleted).toBeDefined();
@@ -110,7 +110,7 @@ describe('BST operations test', () => {
110
110
  expect(bst.isAVLBalanced()).toBe(true);
111
111
  expect(bst.getHeight()).toBe(3);
112
112
 
113
- const removed13 = bst.remove(13);
113
+ const removed13 = bst.delete(13);
114
114
  expect(removed13).toBeInstanceOf(Array);
115
115
  expect(removed13[0]).toBeDefined();
116
116
  expect(removed13[0].deleted).toBeDefined();
@@ -118,7 +118,7 @@ describe('BST operations test', () => {
118
118
  expect(bst.isAVLBalanced()).toBe(true);
119
119
  expect(bst.getHeight()).toBe(3);
120
120
 
121
- const removed3 = bst.remove(3);
121
+ const removed3 = bst.delete(3);
122
122
  expect(removed3).toBeInstanceOf(Array);
123
123
  expect(removed3[0]).toBeDefined();
124
124
  expect(removed3[0].deleted).toBeDefined();
@@ -126,7 +126,7 @@ describe('BST operations test', () => {
126
126
  expect(bst.isAVLBalanced()).toBe(false);
127
127
  expect(bst.getHeight()).toBe(3);
128
128
 
129
- const removed8 = bst.remove(8);
129
+ const removed8 = bst.delete(8);
130
130
  expect(removed8).toBeInstanceOf(Array);
131
131
  expect(removed8[0]).toBeDefined();
132
132
  expect(removed8[0].deleted).toBeDefined();
@@ -134,16 +134,16 @@ describe('BST operations test', () => {
134
134
  expect(bst.isAVLBalanced()).toBe(true);
135
135
  expect(bst.getHeight()).toBe(3);
136
136
 
137
- const removed6 = bst.remove(6);
137
+ const removed6 = bst.delete(6);
138
138
  expect(removed6).toBeInstanceOf(Array);
139
139
  expect(removed6[0]).toBeDefined();
140
140
  expect(removed6[0].deleted).toBeDefined();
141
141
  if (removed6[0].deleted) expect(removed6[0].deleted.key).toBe(6);
142
- expect(bst.remove(6).length).toBe(0);
142
+ expect(bst.delete(6).length).toBe(0);
143
143
  expect(bst.isAVLBalanced()).toBe(false);
144
144
  expect(bst.getHeight()).toBe(3);
145
145
 
146
- const removed7 = bst.remove(7);
146
+ const removed7 = bst.delete(7);
147
147
  expect(removed7).toBeInstanceOf(Array);
148
148
  expect(removed7[0]).toBeDefined();
149
149
  expect(removed7[0].deleted).toBeDefined();
@@ -151,7 +151,7 @@ describe('BST operations test', () => {
151
151
  expect(bst.isAVLBalanced()).toBe(false);
152
152
  expect(bst.getHeight()).toBe(3);
153
153
 
154
- const removed9 = bst.remove(9);
154
+ const removed9 = bst.delete(9);
155
155
  expect(removed9).toBeInstanceOf(Array);
156
156
  expect(removed9[0]).toBeDefined();
157
157
  expect(removed9[0].deleted).toBeDefined();
@@ -159,7 +159,7 @@ describe('BST operations test', () => {
159
159
  expect(bst.isAVLBalanced()).toBe(false);
160
160
  expect(bst.getHeight()).toBe(3);
161
161
 
162
- const removed14 = bst.remove(14);
162
+ const removed14 = bst.delete(14);
163
163
  expect(removed14).toBeInstanceOf(Array);
164
164
  expect(removed14[0]).toBeDefined();
165
165
  expect(removed14[0].deleted).toBeDefined();
@@ -253,7 +253,7 @@ describe('BST operations test', () => {
253
253
  expect(bfsNodesAfterBalanced[0].key).toBe(8);
254
254
  expect(bfsNodesAfterBalanced[bfsNodesAfterBalanced.length - 1].key).toBe(16);
255
255
 
256
- const removed11 = objBST.remove(11);
256
+ const removed11 = objBST.delete(11);
257
257
  expect(removed11).toBeInstanceOf(Array);
258
258
  expect(removed11[0]).toBeDefined();
259
259
  expect(removed11[0].deleted).toBeDefined();
@@ -264,7 +264,7 @@ describe('BST operations test', () => {
264
264
 
265
265
  expect(node15 && objBST.getHeight(node15)).toBe(2);
266
266
 
267
- const removed1 = objBST.remove(1);
267
+ const removed1 = objBST.delete(1);
268
268
  expect(removed1).toBeInstanceOf(Array);
269
269
  expect(removed1[0]).toBeDefined();
270
270
  expect(removed1[0].deleted).toBeDefined();
@@ -274,7 +274,7 @@ describe('BST operations test', () => {
274
274
 
275
275
  expect(objBST.getHeight()).toBe(4);
276
276
 
277
- const removed4 = objBST.remove(4);
277
+ const removed4 = objBST.delete(4);
278
278
  expect(removed4).toBeInstanceOf(Array);
279
279
  expect(removed4[0]).toBeDefined();
280
280
  expect(removed4[0].deleted).toBeDefined();
@@ -282,7 +282,7 @@ describe('BST operations test', () => {
282
282
  expect(objBST.isAVLBalanced()).toBe(true);
283
283
  expect(objBST.getHeight()).toBe(4);
284
284
 
285
- const removed10 = objBST.remove(10);
285
+ const removed10 = objBST.delete(10);
286
286
  expect(removed10).toBeInstanceOf(Array);
287
287
  expect(removed10[0]).toBeDefined();
288
288
  expect(removed10[0].deleted).toBeDefined();
@@ -290,7 +290,7 @@ describe('BST operations test', () => {
290
290
  expect(objBST.isAVLBalanced()).toBe(false);
291
291
  expect(objBST.getHeight()).toBe(4);
292
292
 
293
- const removed15 = objBST.remove(15);
293
+ const removed15 = objBST.delete(15);
294
294
  expect(removed15).toBeInstanceOf(Array);
295
295
  expect(removed15[0]).toBeDefined();
296
296
  expect(removed15[0].deleted).toBeDefined();
@@ -299,7 +299,7 @@ describe('BST operations test', () => {
299
299
  expect(objBST.isAVLBalanced()).toBe(true);
300
300
  expect(objBST.getHeight()).toBe(3);
301
301
 
302
- const removed5 = objBST.remove(5);
302
+ const removed5 = objBST.delete(5);
303
303
  expect(removed5).toBeInstanceOf(Array);
304
304
  expect(removed5[0]).toBeDefined();
305
305
  expect(removed5[0].deleted).toBeDefined();
@@ -308,7 +308,7 @@ describe('BST operations test', () => {
308
308
  expect(objBST.isAVLBalanced()).toBe(true);
309
309
  expect(objBST.getHeight()).toBe(3);
310
310
 
311
- const removed13 = objBST.remove(13);
311
+ const removed13 = objBST.delete(13);
312
312
  expect(removed13).toBeInstanceOf(Array);
313
313
  expect(removed13[0]).toBeDefined();
314
314
  expect(removed13[0].deleted).toBeDefined();
@@ -316,7 +316,7 @@ describe('BST operations test', () => {
316
316
  expect(objBST.isAVLBalanced()).toBe(true);
317
317
  expect(objBST.getHeight()).toBe(3);
318
318
 
319
- const removed3 = objBST.remove(3);
319
+ const removed3 = objBST.delete(3);
320
320
  expect(removed3).toBeInstanceOf(Array);
321
321
  expect(removed3[0]).toBeDefined();
322
322
  expect(removed3[0].deleted).toBeDefined();
@@ -324,7 +324,7 @@ describe('BST operations test', () => {
324
324
  expect(objBST.isAVLBalanced()).toBe(false);
325
325
  expect(objBST.getHeight()).toBe(3);
326
326
 
327
- const removed8 = objBST.remove(8);
327
+ const removed8 = objBST.delete(8);
328
328
  expect(removed8).toBeInstanceOf(Array);
329
329
  expect(removed8[0]).toBeDefined();
330
330
  expect(removed8[0].deleted).toBeDefined();
@@ -332,16 +332,16 @@ describe('BST operations test', () => {
332
332
  expect(objBST.isAVLBalanced()).toBe(true);
333
333
  expect(objBST.getHeight()).toBe(3);
334
334
 
335
- const removed6 = objBST.remove(6);
335
+ const removed6 = objBST.delete(6);
336
336
  expect(removed6).toBeInstanceOf(Array);
337
337
  expect(removed6[0]).toBeDefined();
338
338
  expect(removed6[0].deleted).toBeDefined();
339
339
  if (removed6[0].deleted) expect(removed6[0].deleted.key).toBe(6);
340
- expect(objBST.remove(6).length).toBe(0);
340
+ expect(objBST.delete(6).length).toBe(0);
341
341
  expect(objBST.isAVLBalanced()).toBe(false);
342
342
  expect(objBST.getHeight()).toBe(3);
343
343
 
344
- const removed7 = objBST.remove(7);
344
+ const removed7 = objBST.delete(7);
345
345
  expect(removed7).toBeInstanceOf(Array);
346
346
  expect(removed7[0]).toBeDefined();
347
347
  expect(removed7[0].deleted).toBeDefined();
@@ -349,7 +349,7 @@ describe('BST operations test', () => {
349
349
  expect(objBST.isAVLBalanced()).toBe(false);
350
350
  expect(objBST.getHeight()).toBe(3);
351
351
 
352
- const removed9 = objBST.remove(9);
352
+ const removed9 = objBST.delete(9);
353
353
  expect(removed9).toBeInstanceOf(Array);
354
354
  expect(removed9[0]).toBeDefined();
355
355
  expect(removed9[0].deleted).toBeDefined();
@@ -357,7 +357,7 @@ describe('BST operations test', () => {
357
357
  expect(objBST.isAVLBalanced()).toBe(false);
358
358
  expect(objBST.getHeight()).toBe(3);
359
359
 
360
- const removed14 = objBST.remove(14);
360
+ const removed14 = objBST.delete(14);
361
361
  expect(removed14).toBeInstanceOf(Array);
362
362
  expect(removed14[0]).toBeDefined();
363
363
  expect(removed14[0].deleted).toBeDefined();
@@ -19,7 +19,7 @@ describe('Overall BinaryTree Test', () => {
19
19
  const leftMost = bst.getLeftMost();
20
20
  leftMost?.key === 1; // true
21
21
  expect(leftMost?.key).toBe(1);
22
- bst.remove(6);
22
+ bst.delete(6);
23
23
  bst.get(6); // null
24
24
  expect(bst.get(6)).toBeNull();
25
25
  bst.isAVLBalanced(); // true or false
@@ -52,13 +52,13 @@ describe('Overall BinaryTree Test', () => {
52
52
  ]
53
53
  );
54
54
 
55
- objBST.remove(11);
55
+ objBST.delete(11);
56
56
 
57
57
  const avlTree = new AVLTree();
58
58
  avlTree.addMany([11, 3, 15, 1, 8, 13, 16, 2, 6, 9, 12, 14, 4, 7, 10, 5]);
59
59
  avlTree.isAVLBalanced(); // true
60
60
  expect(avlTree.isAVLBalanced()).toBe(true); // true
61
- avlTree.remove(10);
61
+ avlTree.delete(10);
62
62
  avlTree.isAVLBalanced(); // true
63
63
  expect(avlTree.isAVLBalanced()).toBe(true); // true
64
64
  });
@@ -31,7 +31,7 @@ describe('Red-Black Tree Tests', () => {
31
31
  // tree.add(8);
32
32
  //
33
33
  // // Delete a node (e.g., 3) and check if it's gone
34
- // tree.remove(3);
34
+ // tree.delete(3);
35
35
  // expect(tree.has(3)).toBe(false);
36
36
  //
37
37
  // // Perform in-order traversal to check if the tree is still balanced
@@ -70,7 +70,7 @@ describe('TreeMultiset operations test', () => {
70
70
  expect(bfsNodesAfterBalanced[0].key).toBe(8);
71
71
  expect(bfsNodesAfterBalanced[bfsNodesAfterBalanced.length - 1].key).toBe(16);
72
72
 
73
- const removed11 = treeMultiset.remove(11, true);
73
+ const removed11 = treeMultiset.delete(11, true);
74
74
  expect(removed11 instanceof Array);
75
75
  expect(removed11[0]);
76
76
  expect(removed11[0].deleted);
@@ -81,7 +81,7 @@ describe('TreeMultiset operations test', () => {
81
81
 
82
82
  expect(treeMultiset.getHeight(15)).toBe(1);
83
83
 
84
- const removed1 = treeMultiset.remove(1, true);
84
+ const removed1 = treeMultiset.delete(1, true);
85
85
  expect(removed1 instanceof Array);
86
86
  expect(removed1[0]);
87
87
  expect(removed1[0].deleted);
@@ -91,7 +91,7 @@ describe('TreeMultiset operations test', () => {
91
91
 
92
92
  expect(treeMultiset.getHeight()).toBe(4);
93
93
 
94
- const removed4 = treeMultiset.remove(4, true);
94
+ const removed4 = treeMultiset.delete(4, true);
95
95
  expect(removed4 instanceof Array);
96
96
  expect(removed4[0]);
97
97
  expect(removed4[0].deleted);
@@ -100,7 +100,7 @@ describe('TreeMultiset operations test', () => {
100
100
  expect(treeMultiset.isAVLBalanced()).toBe(true);
101
101
  expect(treeMultiset.getHeight()).toBe(4);
102
102
 
103
- const removed10 = treeMultiset.remove(10, true);
103
+ const removed10 = treeMultiset.delete(10, true);
104
104
  expect(removed10 instanceof Array);
105
105
  expect(removed10[0]);
106
106
  expect(removed10[0].deleted);
@@ -109,7 +109,7 @@ describe('TreeMultiset operations test', () => {
109
109
 
110
110
  expect(treeMultiset.getHeight()).toBe(3);
111
111
 
112
- const removed15 = treeMultiset.remove(15, true);
112
+ const removed15 = treeMultiset.delete(15, true);
113
113
  expect(removed15 instanceof Array);
114
114
  expect(removed15[0]);
115
115
  expect(removed15[0].deleted);
@@ -118,7 +118,7 @@ describe('TreeMultiset operations test', () => {
118
118
  expect(treeMultiset.isAVLBalanced()).toBe(true);
119
119
  expect(treeMultiset.getHeight()).toBe(3);
120
120
 
121
- const removed5 = treeMultiset.remove(5, true);
121
+ const removed5 = treeMultiset.delete(5, true);
122
122
  expect(removed5 instanceof Array);
123
123
  expect(removed5[0]);
124
124
  expect(removed5[0].deleted);
@@ -127,7 +127,7 @@ describe('TreeMultiset operations test', () => {
127
127
  expect(treeMultiset.isAVLBalanced()).toBe(true);
128
128
  expect(treeMultiset.getHeight()).toBe(3);
129
129
 
130
- const removed13 = treeMultiset.remove(13, true);
130
+ const removed13 = treeMultiset.delete(13, true);
131
131
  expect(removed13 instanceof Array);
132
132
  expect(removed13[0]);
133
133
  expect(removed13[0].deleted);
@@ -135,7 +135,7 @@ describe('TreeMultiset operations test', () => {
135
135
  expect(treeMultiset.isAVLBalanced()).toBe(true);
136
136
  expect(treeMultiset.getHeight()).toBe(3);
137
137
 
138
- const removed3 = treeMultiset.remove(3, true);
138
+ const removed3 = treeMultiset.delete(3, true);
139
139
  expect(removed3 instanceof Array);
140
140
  expect(removed3[0]);
141
141
  expect(removed3[0].deleted);
@@ -143,7 +143,7 @@ describe('TreeMultiset operations test', () => {
143
143
  expect(treeMultiset.isAVLBalanced()).toBe(true);
144
144
  expect(treeMultiset.getHeight()).toBe(3);
145
145
 
146
- const removed8 = treeMultiset.remove(8, true);
146
+ const removed8 = treeMultiset.delete(8, true);
147
147
  expect(removed8 instanceof Array);
148
148
  expect(removed8[0]);
149
149
  expect(removed8[0].deleted);
@@ -151,17 +151,17 @@ describe('TreeMultiset operations test', () => {
151
151
  expect(treeMultiset.isAVLBalanced()).toBe(true);
152
152
  expect(treeMultiset.getHeight()).toBe(3);
153
153
 
154
- const removed6 = treeMultiset.remove(6, true);
154
+ const removed6 = treeMultiset.delete(6, true);
155
155
  expect(removed6 instanceof Array);
156
156
  expect(removed6[0]);
157
157
  expect(removed6[0].deleted);
158
158
  if (removed6[0].deleted) expect(removed6[0].deleted.key).toBe(6);
159
- expect(treeMultiset.remove(6, true).length).toBe(0);
159
+ expect(treeMultiset.delete(6, true).length).toBe(0);
160
160
  expect(treeMultiset.isAVLBalanced()).toBe(true);
161
161
 
162
162
  expect(treeMultiset.getHeight()).toBe(2);
163
163
 
164
- const removed7 = treeMultiset.remove(7, true);
164
+ const removed7 = treeMultiset.delete(7, true);
165
165
  expect(removed7 instanceof Array);
166
166
  expect(removed7[0]);
167
167
  expect(removed7[0].deleted);
@@ -169,7 +169,7 @@ describe('TreeMultiset operations test', () => {
169
169
  expect(treeMultiset.isAVLBalanced()).toBe(true);
170
170
  expect(treeMultiset.getHeight()).toBe(2);
171
171
 
172
- const removed9 = treeMultiset.remove(9, true);
172
+ const removed9 = treeMultiset.delete(9, true);
173
173
  expect(removed9 instanceof Array);
174
174
  expect(removed9[0]);
175
175
  expect(removed9[0].deleted);
@@ -177,7 +177,7 @@ describe('TreeMultiset operations test', () => {
177
177
  expect(treeMultiset.isAVLBalanced()).toBe(true);
178
178
  expect(treeMultiset.getHeight()).toBe(2);
179
179
 
180
- const removed14 = treeMultiset.remove(14, true);
180
+ const removed14 = treeMultiset.delete(14, true);
181
181
  expect(removed14 instanceof Array);
182
182
  expect(removed14[0]);
183
183
  expect(removed14[0].deleted);
@@ -288,7 +288,7 @@ describe('TreeMultiset operations test', () => {
288
288
  // expect(bfsNodesAfterBalanced[0].key).toBe(8);
289
289
  // expect(bfsNodesAfterBalanced[bfsNodesAfterBalanced.length - 1].key).toBe(16);
290
290
  //
291
- // const removed11 = objTreeMultiset.remove(11, true);
291
+ // const removed11 = objTreeMultiset.delete(11, true);
292
292
  // expect(removed11).toBeInstanceOf(Array);
293
293
  // expect(removed11[0]).toBeDefined();
294
294
  // expect(removed11[0].deleted).toBeDefined();
@@ -299,7 +299,7 @@ describe('TreeMultiset operations test', () => {
299
299
  //
300
300
  // expect(node15 && objTreeMultiset.getHeight(node15)).toBe(2);
301
301
  //
302
- // const removed1 = objTreeMultiset.remove(1, true);
302
+ // const removed1 = objTreeMultiset.delete(1, true);
303
303
  // expect(removed1).toBeInstanceOf(Array);
304
304
  // expect(removed1[0]).toBeDefined();
305
305
  // expect(removed1[0].deleted).toBeDefined();
@@ -309,7 +309,7 @@ describe('TreeMultiset operations test', () => {
309
309
  //
310
310
  // expect(objTreeMultiset.getHeight()).toBe(4);
311
311
  //
312
- // const removed4 = objTreeMultiset.remove(4, true);
312
+ // const removed4 = objTreeMultiset.delete(4, true);
313
313
  // expect(removed4).toBeInstanceOf(Array);
314
314
  // expect(removed4[0]).toBeDefined();
315
315
  // expect(removed4[0].deleted).toBeDefined();
@@ -317,7 +317,7 @@ describe('TreeMultiset operations test', () => {
317
317
  // expect(objTreeMultiset.isAVLBalanced()).toBe(true);
318
318
  // expect(objTreeMultiset.getHeight()).toBe(4);
319
319
  //
320
- // const removed10 = objTreeMultiset.remove(10, true);
320
+ // const removed10 = objTreeMultiset.delete(10, true);
321
321
  // expect(removed10).toBeInstanceOf(Array);
322
322
  // expect(removed10[0]).toBeDefined();
323
323
  // expect(removed10[0].deleted).toBeDefined();
@@ -325,7 +325,7 @@ describe('TreeMultiset operations test', () => {
325
325
  // expect(objTreeMultiset.isAVLBalanced()).toBe(false);
326
326
  // expect(objTreeMultiset.getHeight()).toBe(4);
327
327
  //
328
- // const removed15 = objTreeMultiset.remove(15, true);
328
+ // const removed15 = objTreeMultiset.delete(15, true);
329
329
  // expect(removed15).toBeInstanceOf(Array);
330
330
  // expect(removed15[0]).toBeDefined();
331
331
  // expect(removed15[0].deleted).toBeDefined();
@@ -334,7 +334,7 @@ describe('TreeMultiset operations test', () => {
334
334
  // expect(objTreeMultiset.isAVLBalanced()).toBe(true);
335
335
  // expect(objTreeMultiset.getHeight()).toBe(3);
336
336
  //
337
- // const removed5 = objTreeMultiset.remove(5, true);
337
+ // const removed5 = objTreeMultiset.delete(5, true);
338
338
  // expect(removed5).toBeInstanceOf(Array);
339
339
  // expect(removed5[0]).toBeDefined();
340
340
  // expect(removed5[0].deleted).toBeDefined();
@@ -343,7 +343,7 @@ describe('TreeMultiset operations test', () => {
343
343
  // expect(objTreeMultiset.isAVLBalanced()).toBe(true);
344
344
  // expect(objTreeMultiset.getHeight()).toBe(3);
345
345
  //
346
- // const removed13 = objTreeMultiset.remove(13, true);
346
+ // const removed13 = objTreeMultiset.delete(13, true);
347
347
  // expect(removed13).toBeInstanceOf(Array);
348
348
  // expect(removed13[0]).toBeDefined();
349
349
  // expect(removed13[0].deleted).toBeDefined();
@@ -351,7 +351,7 @@ describe('TreeMultiset operations test', () => {
351
351
  // expect(objTreeMultiset.isAVLBalanced()).toBe(true);
352
352
  // expect(objTreeMultiset.getHeight()).toBe(3);
353
353
  //
354
- // const removed3 = objTreeMultiset.remove(3, true);
354
+ // const removed3 = objTreeMultiset.delete(3, true);
355
355
  // expect(removed3).toBeInstanceOf(Array);
356
356
  // expect(removed3[0]).toBeDefined();
357
357
  // expect(removed3[0].deleted).toBeDefined();
@@ -359,7 +359,7 @@ describe('TreeMultiset operations test', () => {
359
359
  // expect(objTreeMultiset.isAVLBalanced()).toBe(false);
360
360
  // expect(objTreeMultiset.getHeight()).toBe(3);
361
361
  //
362
- // const removed8 = objTreeMultiset.remove(8, true);
362
+ // const removed8 = objTreeMultiset.delete(8, true);
363
363
  // expect(removed8).toBeInstanceOf(Array);
364
364
  // expect(removed8[0]).toBeDefined();
365
365
  // expect(removed8[0].deleted).toBeDefined();
@@ -367,16 +367,16 @@ describe('TreeMultiset operations test', () => {
367
367
  // expect(objTreeMultiset.isAVLBalanced()).toBe(true);
368
368
  // expect(objTreeMultiset.getHeight()).toBe(3);
369
369
  //
370
- // const removed6 = objTreeMultiset.remove(6, true);
370
+ // const removed6 = objTreeMultiset.delete(6, true);
371
371
  // expect(removed6).toBeInstanceOf(Array);
372
372
  // expect(removed6[0]).toBeDefined();
373
373
  // expect(removed6[0].deleted).toBeDefined();
374
374
  // if (removed6[0].deleted) expect(removed6[0].deleted.key).toBe(6);
375
- // expect(objTreeMultiset.remove(6, true).length).toBe(0);
375
+ // expect(objTreeMultiset.delete(6, true).length).toBe(0);
376
376
  // expect(objTreeMultiset.isAVLBalanced()).toBe(false);
377
377
  // expect(objTreeMultiset.getHeight()).toBe(3);
378
378
  //
379
- // const removed7 = objTreeMultiset.remove(7, true);
379
+ // const removed7 = objTreeMultiset.delete(7, true);
380
380
  // expect(removed7).toBeInstanceOf(Array);
381
381
  // expect(removed7[0]).toBeDefined();
382
382
  // expect(removed7[0].deleted).toBeDefined();
@@ -384,7 +384,7 @@ describe('TreeMultiset operations test', () => {
384
384
  // expect(objTreeMultiset.isAVLBalanced()).toBe(false);
385
385
  // expect(objTreeMultiset.getHeight()).toBe(3);
386
386
  //
387
- // const removed9 = objTreeMultiset.remove(9, true);
387
+ // const removed9 = objTreeMultiset.delete(9, true);
388
388
  // expect(removed9).toBeInstanceOf(Array);
389
389
  // expect(removed9[0]).toBeDefined();
390
390
  // expect(removed9[0].deleted).toBeDefined();
@@ -392,7 +392,7 @@ describe('TreeMultiset operations test', () => {
392
392
  // expect(objTreeMultiset.isAVLBalanced()).toBe(false);
393
393
  // expect(objTreeMultiset.getHeight()).toBe(3);
394
394
  //
395
- // const removed14 = objTreeMultiset.remove(14, true);
395
+ // const removed14 = objTreeMultiset.delete(14, true);
396
396
  // expect(removed14).toBeInstanceOf(Array);
397
397
  // expect(removed14[0]).toBeDefined();
398
398
  // expect(removed14[0].deleted).toBeDefined();
@@ -31,7 +31,7 @@ describe('DirectedGraph Operation Test', () => {
31
31
  expect(graph.hasEdge('B', 'A')).toBe(false);
32
32
  });
33
33
 
34
- it('should remove edges', () => {
34
+ it('should delete edges', () => {
35
35
  const vertex1 = new DirectedVertex('A');
36
36
  const vertex2 = new DirectedVertex('B');
37
37
  const edge = new DirectedEdge('A', 'B');
@@ -31,7 +31,7 @@ describe('UndirectedGraph Operation Test', () => {
31
31
  expect(graph.hasEdge('B', 'A')).toBe(true);
32
32
  });
33
33
 
34
- it('should remove edges', () => {
34
+ it('should delete edges', () => {
35
35
  const vertex1 = new UndirectedVertex('A');
36
36
  const vertex2 = new UndirectedVertex('B');
37
37
  const edge = new UndirectedEdge('A', 'B');
@@ -36,11 +36,11 @@ describe('HashMap', () => {
36
36
  expect(hashMap.get('key2')).toBe(2);
37
37
  });
38
38
 
39
- it('should remove values', () => {
39
+ it('should delete values', () => {
40
40
  hashMap.set('one', 1);
41
41
  hashMap.set('two', 2);
42
42
 
43
- hashMap.remove('one');
43
+ hashMap.delete('one');
44
44
  expect(hashMap.get('one')).toBeUndefined();
45
45
  expect(hashMap.size).toBe(1);
46
46
  });
@@ -81,13 +81,13 @@ describe('HashTable', () => {
81
81
  expect(retrievedValue).toBeUndefined();
82
82
  });
83
83
 
84
- it('should remove key-value pair correctly', () => {
84
+ it('should delete key-value pair correctly', () => {
85
85
  const hashTable = new HashTable<string, string>();
86
86
  const key = 'testKey';
87
87
  const value = 'testValue';
88
88
 
89
89
  hashTable.set(key, value);
90
- hashTable.remove(key);
90
+ hashTable.delete(key);
91
91
 
92
92
  const retrievedValue = hashTable.get(key);
93
93
 
@@ -128,10 +128,10 @@ describe('HashTable', () => {
128
128
  expect(hashTable.get('two')).toBe(2);
129
129
  });
130
130
 
131
- it('should remove values correctly', () => {
131
+ it('should delete values correctly', () => {
132
132
  hashTable.set('one', 1);
133
133
  hashTable.set('two', 2);
134
- hashTable.remove('one');
134
+ hashTable.delete('one');
135
135
 
136
136
  expect(hashTable.get('one')).toBeUndefined();
137
137
  expect(hashTable.get('two')).toBe(2);
@@ -139,7 +139,7 @@ describe('HashTable', () => {
139
139
 
140
140
  it('should handle non-existent keys correctly', () => {
141
141
  expect(hashTable.get('non-existent')).toBeUndefined();
142
- hashTable.remove('non-existent'); // Removing a non-existent key should not cause errors
142
+ hashTable.delete('non-existent'); // Removing a non-existent key should not cause errors
143
143
  });
144
144
 
145
145
  it('should handle custom hash function correctly', () => {