data-structure-typed 1.47.1 → 1.47.3

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.47.1](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
11
+ ## [v1.47.3](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
12
12
 
13
13
  ### Changes
14
14
 
package/README.md CHANGED
@@ -13,7 +13,15 @@ Data Structures of Javascript & TypeScript.
13
13
 
14
14
  Do you envy C++ with [STL]() (std::), Python with [collections](), and Java with [java.util]() ? Well, no need to envy anymore! JavaScript and TypeScript now have [data-structure-typed]().
15
15
 
16
- Now you can use this library in Node.js and browser environments in CommonJS(require export.modules = ), ESModule(import export), Typescript(import export), UMD(var Queue = dataStructureTyped.Queue)
16
+ Now you can use this in Node.js and browser environments
17
+
18
+ CommonJS:**`require export.modules =`**
19
+
20
+ ESModule:   **`import export`**
21
+
22
+ Typescript:   **`import export`**
23
+
24
+ UMD:           **`var Deque = dataStructureTyped.Deque`**
17
25
 
18
26
 
19
27
  [//]: # (![Branches](https://img.shields.io/badge/branches-55.47%25-red.svg?style=flat))
@@ -29,7 +37,7 @@ Now you can use this library in Node.js and browser environments in CommonJS(req
29
37
  ### npm
30
38
 
31
39
  ```bash
32
- npm i --save data-structure-typed
40
+ npm i data-structure-typed --save
33
41
  ```
34
42
 
35
43
  ### yarn
@@ -60,7 +68,7 @@ Copy the line below into the head tag in an HTML document.
60
68
  <script src='https://cdn.jsdelivr.net/npm/data-structure-typed/dist/umd/data-structure-typed.min.js'></script>
61
69
  ```
62
70
 
63
- Copy the code below into the script tag of your HTML, and you're good to go with your development work.
71
+ Copy the code below into the script tag of your HTML, and you're good to go with your development.
64
72
  ```js
65
73
  const {Heap} = dataStructureTyped;
66
74
  const {
@@ -73,46 +81,46 @@ const {
73
81
  ## Vivid Examples
74
82
 
75
83
  ### Binary Tree
76
- [Try it out](https://vivid-algorithm.vercel.app/), or you can execute your own code using our [visual tool](https://github.com/zrwusa/vivid-algorithm)
84
+ [Try it out](https://vivid-algorithm.vercel.app/), or you can run your own code using our [visual tool](https://github.com/zrwusa/vivid-algorithm)
77
85
 
78
86
  ![](https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/examples/videos/webp_output/binary-tree-array-to-binary-tree.webp)
79
87
 
80
88
 
81
89
 
82
90
  ### Binary Tree DFS
83
- [Try it out](https://vivid-algorithm.vercel.app/), or you can execute your own code using our [visual tool](https://github.com/zrwusa/vivid-algorithm)
91
+ [Try it out](https://vivid-algorithm.vercel.app/)
84
92
 
85
93
  ![](https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/examples/videos/webp_output/binary-tree-dfs-in-order.webp)
86
94
 
87
95
 
88
96
 
89
97
  ### AVL Tree
90
- [Try it out](https://vivid-algorithm.vercel.app/), or you can execute your own code using our [visual tool](https://github.com/zrwusa/vivid-algorithm)
98
+ [Try it out](https://vivid-algorithm.vercel.app/)
91
99
 
92
100
  ![](https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/examples/videos/webp_output/avl-tree-test.webp)
93
101
 
94
102
 
95
103
  ### Tree Multi Map
96
- [Try it out](https://vivid-algorithm.vercel.app/), or you can execute your own code using our [visual tool](https://github.com/zrwusa/vivid-algorithm)
104
+ [Try it out](https://vivid-algorithm.vercel.app/)
97
105
 
98
106
  ![](https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/examples/videos/webp_output/tree-multiset-test.webp)
99
107
 
100
108
 
101
109
 
102
110
  ### Matrix
103
- [Try it out](https://vivid-algorithm.vercel.app/algorithm/graph/), or you can execute your own code using our [visual tool](https://github.com/zrwusa/vivid-algorithm)
111
+ [Try it out](https://vivid-algorithm.vercel.app/algorithm/graph/)
104
112
 
105
113
  ![](https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/examples/videos/webp_output/matrix-cut-off-tree-for-golf.webp)
106
114
 
107
115
 
108
116
  ### Directed Graph
109
- [Try it out](https://vivid-algorithm.vercel.app/algorithm/graph/), or you can execute your own code using our [visual tool](https://github.com/zrwusa/vivid-algorithm)
117
+ [Try it out](https://vivid-algorithm.vercel.app/algorithm/graph/)
110
118
 
111
119
  ![](https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/examples/videos/webp_output/directed-graph-test.webp)
112
120
 
113
121
 
114
122
  ### Map Graph
115
- [Try it out](https://vivid-algorithm.vercel.app/algorithm/graph/), or you can execute your own code using our [visual tool](https://github.com/zrwusa/vivid-algorithm)
123
+ [Try it out](https://vivid-algorithm.vercel.app/algorithm/graph/)
116
124
 
117
125
  ![](https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/examples/videos/webp_output/map-graph-test.webp)
118
126
 
@@ -142,6 +150,18 @@ bst.delete(6);
142
150
  bst.get(6); // undefined
143
151
  bst.isAVLBalanced(); // true
144
152
  bst.bfs()[0] === 11; // true
153
+ bst.print()
154
+ // ______________11_____
155
+ // / \
156
+ // ___3_______ _13_____
157
+ // / \ / \
158
+ // 1_ _____8____ 12 _15__
159
+ // \ / \ / \
160
+ // 2 4_ _10 14 16
161
+ // \ /
162
+ // 5_ 9
163
+ // \
164
+ // 7
145
165
 
146
166
  const objBST = new BST<{height: number, age: number}>();
147
167
 
@@ -192,13 +212,10 @@ bst.get(6); // undefined
192
212
  bst.isAVLBalanced(); // true or false
193
213
  const bfsIDs = bst.bfs();
194
214
  bfsIDs[0] === 11; // true
195
-
196
215
  ```
197
216
 
198
217
  ### AVLTree snippet
199
218
 
200
- #### TS
201
-
202
219
  ```ts
203
220
  import {AVLTree} from 'data-structure-typed';
204
221
 
@@ -209,22 +226,30 @@ avlTree.delete(10);
209
226
  avlTree.isAVLBalanced(); // true
210
227
  ```
211
228
 
212
- #### JS
229
+ ### RedBlackTree snippet
213
230
 
214
- ```js
215
- const {AVLTree} = require('data-structure-typed');
216
-
217
- const avlTree = new AVLTree();
218
- avlTree.addMany([11, 3, 15, 1, 8, 13, 16, 2, 6, 9, 12, 14, 4, 7, 10, 5])
219
- avlTree.isAVLBalanced(); // true
220
- avlTree.delete(10);
221
- avlTree.isAVLBalanced(); // true
231
+ ```ts
232
+ import {RedBlackTree} from 'data-structure-typed';
233
+
234
+ const rbTree = new RedBlackTree();
235
+ rbTree.addMany([11, 3, 15, 1, 8, 13, 16, 2, 6, 9, 12, 14, 4, 7, 10, 5])
236
+ rbTree.isAVLBalanced(); // true
237
+ rbTree.delete(10);
238
+ rbTree.isAVLBalanced(); // true
239
+ rbTree.print()
240
+ // ___6________
241
+ // / \
242
+ // ___4_ ___11________
243
+ // / \ / \
244
+ // _2_ 5 _8_ ____14__
245
+ // / \ / \ / \
246
+ // 1 3 7 9 12__ 15__
247
+ // \ \
248
+ // 13 16
222
249
  ```
223
250
 
224
251
  ### Directed Graph simple snippet
225
252
 
226
- #### TS or JS
227
-
228
253
  ```ts
229
254
  import {DirectedGraph} from 'data-structure-typed';
230
255
 
@@ -254,8 +279,6 @@ const topologicalOrderKeys = graph.topologicalSort(); // ['A', 'B', 'C']
254
279
 
255
280
  ### Undirected Graph snippet
256
281
 
257
- #### TS or JS
258
-
259
282
  ```ts
260
283
  import {UndirectedGraph} from 'data-structure-typed';
261
284
 
@@ -288,8 +311,7 @@ Array.from(dijkstraResult?.seen ?? []).map(vertex => vertex.key) // ['A', 'B', '
288
311
  <th>Data Structure</th>
289
312
  <th>Unit Test</th>
290
313
  <th>Performance Test</th>
291
- <th>API Documentation</th>
292
- <th>Implemented</th>
314
+ <th>API Docs</th>
293
315
  </tr>
294
316
  </thead>
295
317
  <tbody>
@@ -298,168 +320,126 @@ Array.from(dijkstraResult?.seen ?? []).map(vertex => vertex.key) // ['A', 'B', '
298
320
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
299
321
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
300
322
  <td><a href="https://data-structure-typed-docs.vercel.app/classes/BinaryTree.html"><span>Binary Tree</span></a></td>
301
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
302
323
  </tr>
303
324
  <tr>
304
325
  <td>Binary Search Tree (BST)</td>
305
326
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
306
327
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
307
328
  <td><a href="https://data-structure-typed-docs.vercel.app/classes/BST.html"><span>BST</span></a></td>
308
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
309
329
  </tr>
310
330
  <tr>
311
331
  <td>AVL Tree</td>
312
332
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
313
333
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
314
334
  <td><a href="https://data-structure-typed-docs.vercel.app/classes/AVLTree.html"><span>AVLTree</span></a></td>
315
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
316
335
  </tr>
317
336
  <tr>
318
337
  <td>Red Black Tree</td>
319
338
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
320
339
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
321
340
  <td><a href="https://data-structure-typed-docs.vercel.app/classes/RedBlackTree.html"><span>RedBlackTree</span></a></td>
322
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
323
341
  </tr>
324
342
  <tr>
325
343
  <td>Tree Multiset</td>
326
344
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
327
345
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
328
346
  <td><a href="https://data-structure-typed-docs.vercel.app/classes/TreeMultimap.html"><span>TreeMultimap</span></a></td>
329
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
330
347
  </tr>
331
348
  <tr>
332
349
  <td>Segment Tree</td>
333
350
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
334
351
  <td></td>
335
352
  <td><a href="https://data-structure-typed-docs.vercel.app/classes/SegmentTree.html"><span>SegmentTree</span></a></td>
336
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
337
353
  </tr>
338
354
  <tr>
339
355
  <td>Binary Indexed Tree</td>
340
356
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
341
357
  <td></td>
342
358
  <td><a href="https://data-structure-typed-docs.vercel.app/classes/BinaryIndexedTree.html"><span>BinaryIndexedTree</span></a></td>
343
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
344
- </tr>
345
- <tr>
346
- <td>Graph</td>
347
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
348
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
349
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/AbstractGraph.html"><span>AbstractGraph</span></a></td>
350
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
351
359
  </tr>
352
360
  <tr>
353
- <td>Directed Graph</td>
354
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
355
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
356
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/DirectedGraph.html"><span>DirectedGraph</span></a></td>
357
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
358
- </tr>
359
- <tr>
360
- <td>Undirected Graph</td>
361
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
362
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
363
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/UndirectedGraph.html"><span>UndirectedGraph</span></a></td>
364
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
365
- </tr>
366
- <tr>
367
- <td>Linked List</td>
368
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
361
+ <td>Heap</td>
369
362
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
370
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/SinglyLinkedList.html"><span>SinglyLinkedList</span></a></td>
371
363
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
364
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/Heap.html"><span>Heap</span></a></td>
372
365
  </tr>
373
366
  <tr>
374
- <td>Singly Linked List</td>
375
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
367
+ <td>Priority Queue</td>
376
368
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
377
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/SinglyLinkedList.html"><span>SinglyLinkedList</span></a></td>
378
369
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
370
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/PriorityQueue.html"><span>PriorityQueue</span></a></td>
379
371
  </tr>
380
372
  <tr>
381
- <td>Doubly Linked List</td>
382
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
373
+ <td>Max Priority Queue</td>
383
374
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
384
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/DoublyLinkedList.html"><span>DoublyLinkedList</span></a></td>
385
375
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
376
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/MaxPriorityQueue.html"><span>MaxPriorityQueue</span></a></td>
386
377
  </tr>
387
378
  <tr>
388
- <td>Queue</td>
389
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
379
+ <td>Min Priority Queue</td>
390
380
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
391
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/Queue.html"><span>Queue</span></a></td>
392
381
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
382
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/MinPriorityQueue.html"><span>MinPriorityQueue</span></a></td>
393
383
  </tr>
394
384
  <tr>
395
- <td>Object Deque</td>
396
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
385
+ <td>Trie</td>
397
386
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
398
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/ObjectDeque.html"><span>ObjectDeque</span></a></td>
399
387
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
388
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/Trie.html"><span>Trie</span></a></td>
400
389
  </tr>
401
390
  <tr>
402
- <td>Array Deque</td>
403
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
391
+ <td>Graph</td>
404
392
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
405
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/ArrayDeque.html"><span>ArrayDeque</span></a></td>
406
393
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
394
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/AbstractGraph.html"><span>AbstractGraph</span></a></td>
407
395
  </tr>
408
396
  <tr>
409
- <td>Stack</td>
410
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
397
+ <td>Directed Graph</td>
411
398
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
412
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/Stack.html"><span>Stack</span></a></td>
413
399
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
400
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/DirectedGraph.html"><span>DirectedGraph</span></a></td>
414
401
  </tr>
415
402
  <tr>
416
- <td>Coordinate Set</td>
403
+ <td>Undirected Graph</td>
417
404
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
418
- <td></td>
419
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/CoordinateSet.html"><span>CoordinateSet</span></a></td>
420
405
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
406
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/UndirectedGraph.html"><span>UndirectedGraph</span></a></td>
421
407
  </tr>
422
408
  <tr>
423
- <td>Coordinate Map</td>
409
+ <td>Queue</td>
424
410
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
425
- <td></td>
426
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/CoordinateMap.html"><span>CoordinateMap</span></a></td>
427
411
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
412
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/Queue.html"><span>Queue</span></a></td>
428
413
  </tr>
429
414
  <tr>
430
- <td>Heap</td>
415
+ <td>Deque</td>
431
416
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
432
417
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
433
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/Heap.html"><span>Heap</span></a></td>
434
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
418
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/Deque.html"><span>Deque</span></a></td>
435
419
  </tr>
436
420
  <tr>
437
- <td>Priority Queue</td>
438
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
421
+ <td>Linked List</td>
439
422
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
440
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/PriorityQueue.html"><span>PriorityQueue</span></a></td>
441
423
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
424
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/SinglyLinkedList.html"><span>SinglyLinkedList</span></a></td>
442
425
  </tr>
443
426
  <tr>
444
- <td>Max Priority Queue</td>
445
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
427
+ <td>Singly Linked List</td>
446
428
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
447
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/MaxPriorityQueue.html"><span>MaxPriorityQueue</span></a></td>
448
429
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
430
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/SinglyLinkedList.html"><span>SinglyLinkedList</span></a></td>
449
431
  </tr>
450
432
  <tr>
451
- <td>Min Priority Queue</td>
433
+ <td>Doubly Linked List</td>
452
434
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
453
435
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
454
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/MinPriorityQueue.html"><span>MinPriorityQueue</span></a></td>
455
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
436
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/DoublyLinkedList.html"><span>DoublyLinkedList</span></a></td>
456
437
  </tr>
457
438
  <tr>
458
- <td>Trie</td>
459
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
439
+ <td>Stack</td>
460
440
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
461
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/Trie.html"><span>Trie</span></a></td>
462
441
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
442
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/Stack.html"><span>Stack</span></a></td>
463
443
  </tr>
464
444
  </tbody>
465
445
  </table>
@@ -477,22 +457,16 @@ Array.from(dijkstraResult?.seen ?? []).map(vertex => vertex.key) // ['A', 'B', '
477
457
  </thead>
478
458
  <tbody>
479
459
  <tr>
480
- <td>DoublyLinkedList&lt;E&gt;</td>
481
- <td>list&lt;T&gt;</td>
482
- <td>LinkedList&lt;E&gt;</td>
483
- <td>deque</td>
484
- </tr>
485
- <tr>
486
- <td>SinglyLinkedList&lt;E&gt;</td>
487
- <td>-</td>
488
- <td>-</td>
489
- <td>-</td>
460
+ <td>Heap&lt;E&gt;</td>
461
+ <td>priority_queue&lt;T&gt;</td>
462
+ <td>PriorityQueue&lt;E&gt;</td>
463
+ <td>heapq</td>
490
464
  </tr>
491
465
  <tr>
492
- <td>Array&lt;E&gt;</td>
493
- <td>vector&lt;T&gt;</td>
494
- <td>ArrayList&lt;E&gt;</td>
495
- <td>list</td>
466
+ <td>Deque&lt;E&gt;</td>
467
+ <td>deque&lt;T&gt;</td>
468
+ <td>ArrayDeque&lt;E&gt;</td>
469
+ <td>deque</td>
496
470
  </tr>
497
471
  <tr>
498
472
  <td>Queue&lt;E&gt;</td>
@@ -501,118 +475,118 @@ Array.from(dijkstraResult?.seen ?? []).map(vertex => vertex.key) // ['A', 'B', '
501
475
  <td>-</td>
502
476
  </tr>
503
477
  <tr>
504
- <td>Deque&lt;E&gt;</td>
505
- <td>deque&lt;T&gt;</td>
506
- <td>-</td>
478
+ <td>HashMap&lt;K, V&gt;</td>
479
+ <td>unordered_map&lt;K, V&gt;</td>
480
+ <td>HashMap&lt;K, V&gt;</td>
481
+ <td>defaultdict</td>
482
+ </tr>
483
+ <tr>
484
+ <td>DoublyLinkedList&lt;E&gt;</td>
485
+ <td>list&lt;T&gt;</td>
486
+ <td>LinkedList&lt;E&gt;</td>
507
487
  <td>-</td>
508
488
  </tr>
509
489
  <tr>
510
- <td>PriorityQueue&lt;E&gt;</td>
511
- <td>priority_queue&lt;T&gt;</td>
512
- <td>PriorityQueue&lt;E&gt;</td>
490
+ <td>SinglyLinkedList&lt;E&gt;</td>
491
+ <td>-</td>
492
+ <td>-</td>
513
493
  <td>-</td>
514
494
  </tr>
515
495
  <tr>
516
- <td>Heap&lt;E&gt;</td>
517
- <td>priority_queue&lt;T&gt;</td>
518
- <td>PriorityQueue&lt;E&gt;</td>
519
- <td>heapq</td>
496
+ <td>BinaryTree&lt;K, V&gt;</td>
497
+ <td>-</td>
498
+ <td>-</td>
499
+ <td>-</td>
520
500
  </tr>
521
501
  <tr>
522
- <td>Stack&lt;E&gt;</td>
523
- <td>stack&lt;T&gt;</td>
524
- <td>Stack&lt;E&gt;</td>
502
+ <td>BST&lt;K, V&gt;</td>
503
+ <td>-</td>
504
+ <td>-</td>
525
505
  <td>-</td>
526
506
  </tr>
527
507
  <tr>
528
- <td>Set&lt;E&gt;</td>
508
+ <td>RedBlackTree&lt;E&gt;</td>
529
509
  <td>set&lt;T&gt;</td>
530
- <td>HashSet&lt;E&gt;</td>
531
- <td>set</td>
510
+ <td>TreeSet&lt;E&gt;</td>
511
+ <td>-</td>
532
512
  </tr>
533
513
  <tr>
534
- <td>Map&lt;K, V&gt;</td>
514
+ <td>RedBlackTree&lt;K, V&gt;</td>
535
515
  <td>map&lt;K, V&gt;</td>
536
- <td>HashMap&lt;K, V&gt;</td>
537
- <td>dict</td>
516
+ <td>TreeMap&lt;K, V&gt;</td>
517
+ <td>-</td>
538
518
  </tr>
539
519
  <tr>
520
+ <td>TreeMultimap&lt;K, V&gt;</td>
521
+ <td>multimap&lt;K, V&gt;</td>
540
522
  <td>-</td>
541
- <td>unordered_set&lt;T&gt;</td>
542
- <td>HashSet&lt;E&gt;</td>
543
523
  <td>-</td>
544
524
  </tr>
545
525
  <tr>
546
- <td>HashMap&lt;K, V&gt;</td>
547
- <td>unordered_map&lt;K, V&gt;</td>
548
- <td>HashMap&lt;K, V&gt;</td>
549
- <td>defaultdict</td>
550
- </tr>
551
- <tr>
552
- <td>Map&lt;K, V&gt;</td>
526
+ <td>-</td>
527
+ <td>multiset&lt;T&gt;</td>
553
528
  <td>-</td>
554
529
  <td>-</td>
555
- <td>OrderedDict</td>
556
530
  </tr>
557
531
  <tr>
558
- <td>BinaryTree&lt;K, V&gt;</td>
532
+ <td>Trie</td>
559
533
  <td>-</td>
560
534
  <td>-</td>
561
535
  <td>-</td>
562
536
  </tr>
563
537
  <tr>
564
- <td>BST&lt;K, V&gt;</td>
538
+ <td>DirectedGraph&lt;V, E&gt;</td>
565
539
  <td>-</td>
566
540
  <td>-</td>
567
541
  <td>-</td>
568
542
  </tr>
569
543
  <tr>
570
- <td>TreeMultimap&lt;K, V&gt;</td>
571
- <td>multimap&lt;K, V&gt;</td>
544
+ <td>UndirectedGraph&lt;V, E&gt;</td>
545
+ <td>-</td>
572
546
  <td>-</td>
573
547
  <td>-</td>
574
548
  </tr>
575
549
  <tr>
576
- <td>AVLTree&lt;E&gt;</td>
577
- <td>-</td>
578
- <td>TreeSet&lt;E&gt;</td>
550
+ <td>PriorityQueue&lt;E&gt;</td>
551
+ <td>priority_queue&lt;T&gt;</td>
552
+ <td>PriorityQueue&lt;E&gt;</td>
579
553
  <td>-</td>
580
554
  </tr>
581
555
  <tr>
582
- <td>AVLTree&lt;K, V&gt;</td>
583
- <td>-</td>
584
- <td>TreeMap&lt;K, V&gt;</td>
585
- <td>-</td>
556
+ <td>Array&lt;E&gt;</td>
557
+ <td>vector&lt;T&gt;</td>
558
+ <td>ArrayList&lt;E&gt;</td>
559
+ <td>list</td>
586
560
  </tr>
587
561
  <tr>
588
- <td>AVLTree&lt;E&gt;</td>
589
- <td>set</td>
590
- <td>TreeSet&lt;E&gt;</td>
562
+ <td>Stack&lt;E&gt;</td>
563
+ <td>stack&lt;T&gt;</td>
564
+ <td>Stack&lt;E&gt;</td>
591
565
  <td>-</td>
592
566
  </tr>
593
567
  <tr>
594
- <td>Trie</td>
595
- <td>-</td>
596
- <td>-</td>
568
+ <td>Set&lt;E&gt;</td>
597
569
  <td>-</td>
570
+ <td>HashSet&lt;E&gt;</td>
571
+ <td>set</td>
598
572
  </tr>
599
573
  <tr>
574
+ <td>Map&lt;K, V&gt;</td>
600
575
  <td>-</td>
601
- <td>multiset&lt;T&gt;</td>
602
- <td>-</td>
603
- <td>-</td>
576
+ <td>HashMap&lt;K, V&gt;</td>
577
+ <td>dict</td>
604
578
  </tr>
605
579
  <tr>
606
- <td>DirectedGraph&lt;V, E&gt;</td>
607
- <td>-</td>
608
580
  <td>-</td>
581
+ <td>unordered_set&lt;T&gt;</td>
582
+ <td>HashSet&lt;E&gt;</td>
609
583
  <td>-</td>
610
584
  </tr>
611
585
  <tr>
612
- <td>UndirectedGraph&lt;V, E&gt;</td>
613
- <td>-</td>
586
+ <td>Map&lt;K, V&gt;</td>
614
587
  <td>-</td>
615
588
  <td>-</td>
589
+ <td>OrderedDict</td>
616
590
  </tr>
617
591
  <tr>
618
592
  <td>-</td>
@@ -627,7 +601,7 @@ Array.from(dijkstraResult?.seen ?? []).map(vertex => vertex.key) // ['A', 'B', '
627
601
  <td>-</td>
628
602
  </tr>
629
603
  <tr>
630
- <td>-</td>
604
+ <td>HashMap&lt;K, V&gt;</td>
631
605
  <td>-</td>
632
606
  <td>LinkedHashMap&lt;K, V&gt;</td>
633
607
  <td>-</td>
@@ -851,40 +825,3 @@ Array.from(dijkstraResult?.seen ?? []).map(vertex => vertex.key) // ['A', 'B', '
851
825
  </tr>
852
826
  </table>
853
827
 
854
-
855
- <!-- START doctoc generated TOC please keep comment here to allow auto update -->
856
- <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
857
-
858
- - [Installation and Usage](#installation-and-usage)
859
- - [npm](#npm)
860
- - [yarn](#yarn)
861
- - [CDN](#cdn)
862
- - [development](#development)
863
- - [production](#production)
864
- - [Vivid Examples](#vivid-examples)
865
- - [Binary Tree](#binary-tree)
866
- - [Binary Tree DFS](#binary-tree-dfs)
867
- - [AVL Tree](#avl-tree)
868
- - [Tree Multi Map](#tree-multi-map)
869
- - [Matrix](#matrix)
870
- - [Directed Graph](#directed-graph)
871
- - [Map Graph](#map-graph)
872
- - [Code Snippets](#code-snippets)
873
- - [Binary Search Tree (BST) snippet](#binary-search-tree-bst-snippet)
874
- - [TS](#ts)
875
- - [JS](#js)
876
- - [AVLTree snippet](#avltree-snippet)
877
- - [TS](#ts-1)
878
- - [JS](#js-1)
879
- - [Directed Graph simple snippet](#directed-graph-simple-snippet)
880
- - [TS or JS](#ts-or-js)
881
- - [Undirected Graph snippet](#undirected-graph-snippet)
882
- - [TS or JS](#ts-or-js-1)
883
- - [API docs & Examples](#api-docs--examples)
884
- - [Data Structures](#data-structures)
885
- - [Standard library data structure comparison](#standard-library-data-structure-comparison)
886
- - [Benchmark](#benchmark)
887
- - [Built-in classic algorithms](#built-in-classic-algorithms)
888
- - [Software Engineering Design Standards](#software-engineering-design-standards)
889
-
890
- <!-- END doctoc generated TOC please keep comment here to allow auto update -->