data-structure-typed 1.33.0 → 1.33.2
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/.idea/codeStyles/Project.xml +61 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/CHANGELOG.md +1 -1
- package/README.md +197 -257
- package/coverage/coverage-final.json +63 -63
- package/coverage/coverage-summary.json +16 -16
- package/dist/data-structures/binary-tree/abstract-binary-tree.js +1 -16
- package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +1 -1
- package/dist/data-structures/binary-tree/avl-tree.js +2 -2
- package/dist/data-structures/binary-tree/avl-tree.js.map +1 -1
- package/dist/data-structures/binary-tree/rb-tree.js +3 -4
- package/dist/data-structures/binary-tree/rb-tree.js.map +1 -1
- package/dist/data-structures/graph/directed-graph.js.map +1 -1
- package/dist/data-structures/graph/undirected-graph.js.map +1 -1
- package/dist/data-structures/hash/hash-table.js +107 -2
- package/dist/data-structures/hash/hash-table.js.map +1 -1
- package/dist/data-structures/heap/max-heap.js.map +1 -1
- package/dist/data-structures/heap/min-heap.js.map +1 -1
- package/dist/data-structures/linked-list/doubly-linked-list.js +30 -0
- package/dist/data-structures/linked-list/doubly-linked-list.js.map +1 -1
- package/dist/data-structures/matrix/matrix2d.js +5 -8
- package/dist/data-structures/matrix/matrix2d.js.map +1 -1
- package/dist/data-structures/priority-queue/max-priority-queue.js.map +1 -1
- package/dist/data-structures/priority-queue/min-priority-queue.js.map +1 -1
- package/dist/data-structures/queue/deque.js.map +1 -1
- package/docs/index.html +197 -256
- package/docs/modules.html +2 -0
- package/lib/data-structures/binary-tree/abstract-binary-tree.d.ts +8 -18
- package/lib/data-structures/binary-tree/abstract-binary-tree.js +5 -23
- package/lib/data-structures/binary-tree/avl-tree.d.ts +7 -10
- package/lib/data-structures/binary-tree/avl-tree.js +6 -9
- package/lib/data-structures/binary-tree/binary-tree.d.ts +2 -2
- package/lib/data-structures/binary-tree/bst.d.ts +2 -2
- package/lib/data-structures/binary-tree/rb-tree.d.ts +3 -3
- package/lib/data-structures/binary-tree/rb-tree.js +3 -3
- package/lib/data-structures/binary-tree/tree-multiset.d.ts +3 -3
- package/lib/data-structures/binary-tree/tree-multiset.js +1 -1
- package/lib/data-structures/graph/abstract-graph.d.ts +10 -10
- package/lib/data-structures/graph/abstract-graph.js +2 -2
- package/lib/data-structures/graph/directed-graph.d.ts +6 -6
- package/lib/data-structures/graph/directed-graph.js +2 -2
- package/lib/data-structures/graph/map-graph.d.ts +6 -6
- package/lib/data-structures/graph/map-graph.js +2 -2
- package/lib/data-structures/graph/undirected-graph.d.ts +6 -6
- package/lib/data-structures/graph/undirected-graph.js +2 -2
- package/lib/data-structures/hash/hash-table.d.ts +61 -1
- package/lib/data-structures/hash/hash-table.js +136 -0
- package/lib/data-structures/heap/heap.d.ts +31 -31
- package/lib/data-structures/heap/heap.js +11 -11
- package/lib/data-structures/heap/max-heap.d.ts +4 -4
- package/lib/data-structures/heap/max-heap.js +1 -1
- package/lib/data-structures/heap/min-heap.d.ts +4 -4
- package/lib/data-structures/heap/min-heap.js +1 -1
- package/lib/data-structures/linked-list/doubly-linked-list.d.ts +93 -54
- package/lib/data-structures/linked-list/doubly-linked-list.js +79 -22
- package/lib/data-structures/linked-list/singly-linked-list.d.ts +46 -46
- package/lib/data-structures/linked-list/singly-linked-list.js +20 -20
- package/lib/data-structures/matrix/matrix.d.ts +3 -3
- package/lib/data-structures/matrix/matrix2d.d.ts +1 -1
- package/lib/data-structures/matrix/matrix2d.js +3 -2
- package/lib/data-structures/priority-queue/max-priority-queue.d.ts +4 -4
- package/lib/data-structures/priority-queue/min-priority-queue.d.ts +4 -4
- package/lib/data-structures/priority-queue/priority-queue.d.ts +26 -26
- package/lib/data-structures/priority-queue/priority-queue.js +8 -8
- package/lib/data-structures/queue/deque.d.ts +30 -30
- package/lib/data-structures/queue/deque.js +7 -7
- package/lib/data-structures/queue/queue.d.ts +27 -27
- package/lib/data-structures/queue/queue.js +8 -8
- package/lib/data-structures/stack/stack.d.ts +15 -15
- package/lib/data-structures/stack/stack.js +6 -6
- package/lib/data-structures/tree/tree.d.ts +7 -7
- package/lib/interfaces/abstract-binary-tree.d.ts +0 -1
- package/lib/interfaces/avl-tree.d.ts +1 -1
- package/lib/types/data-structures/navigator.d.ts +1 -1
- package/package.json +3 -5
- package/test/integration/index.html +6 -6
- package/test/unit/data-structures/binary-tree/binary-tree.test.ts +146 -0
- package/test/unit/data-structures/binary-tree/rb-tree.test.ts +44 -0
- package/test/unit/data-structures/hash/coordinate-map.test.ts +54 -0
- package/test/unit/data-structures/hash/coordinate-set.test.ts +41 -0
- package/test/unit/data-structures/hash/hash-table.test.ts +97 -0
- package/test/unit/data-structures/linked-list/linked-list.test.ts +1 -3
- package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +53 -0
- package/test/unit/data-structures/matrix/matrix.test.ts +54 -0
- package/test/unit/data-structures/matrix/matrix2d.test.ts +138 -0
- package/test/unit/data-structures/matrix/navigator.test.ts +80 -0
- package/test/unit/data-structures/queue/deque.test.ts +131 -0
- package/test/unit/data-structures/queue/queue.test.ts +168 -1
- package/test/unit/data-structures/stack/stack.test.ts +67 -0
- package/test/unit/data-structures/tree/tree.test.ts +39 -0
- package/test/unit/data-structures/trie/trie.test.ts +95 -0
- package/umd/bundle.min.js +1 -1
- package/umd/bundle.min.js.map +1 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<component name="ProjectCodeStyleConfiguration">
|
|
2
|
+
<code_scheme name="Project" version="173">
|
|
3
|
+
<HTMLCodeStyleSettings>
|
|
4
|
+
<option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
|
|
5
|
+
<option name="HTML_QUOTE_STYLE" value="Single" />
|
|
6
|
+
<option name="HTML_ENFORCE_QUOTES" value="true" />
|
|
7
|
+
</HTMLCodeStyleSettings>
|
|
8
|
+
<JSCodeStyleSettings version="0">
|
|
9
|
+
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
|
10
|
+
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
|
|
11
|
+
<option name="USE_DOUBLE_QUOTES" value="false" />
|
|
12
|
+
<option name="FORCE_QUOTE_STYlE" value="true" />
|
|
13
|
+
<option name="ENFORCE_TRAILING_COMMA" value="Remove" />
|
|
14
|
+
<option name="SPACES_WITHIN_OBJECT_TYPE_BRACES" value="false" />
|
|
15
|
+
</JSCodeStyleSettings>
|
|
16
|
+
<TypeScriptCodeStyleSettings version="0">
|
|
17
|
+
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
|
18
|
+
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
|
|
19
|
+
<option name="USE_DOUBLE_QUOTES" value="false" />
|
|
20
|
+
<option name="FORCE_QUOTE_STYlE" value="true" />
|
|
21
|
+
<option name="ENFORCE_TRAILING_COMMA" value="Remove" />
|
|
22
|
+
<option name="SPACES_WITHIN_OBJECT_TYPE_BRACES" value="false" />
|
|
23
|
+
</TypeScriptCodeStyleSettings>
|
|
24
|
+
<VueCodeStyleSettings>
|
|
25
|
+
<option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
|
|
26
|
+
<option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
|
|
27
|
+
</VueCodeStyleSettings>
|
|
28
|
+
<codeStyleSettings language="HTML">
|
|
29
|
+
<option name="SOFT_MARGINS" value="120" />
|
|
30
|
+
<indentOptions>
|
|
31
|
+
<option name="INDENT_SIZE" value="2" />
|
|
32
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
33
|
+
<option name="TAB_SIZE" value="2" />
|
|
34
|
+
</indentOptions>
|
|
35
|
+
</codeStyleSettings>
|
|
36
|
+
<codeStyleSettings language="JavaScript">
|
|
37
|
+
<option name="RIGHT_MARGIN" value="120" />
|
|
38
|
+
<option name="SOFT_MARGINS" value="120" />
|
|
39
|
+
<indentOptions>
|
|
40
|
+
<option name="INDENT_SIZE" value="2" />
|
|
41
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
42
|
+
<option name="TAB_SIZE" value="2" />
|
|
43
|
+
</indentOptions>
|
|
44
|
+
</codeStyleSettings>
|
|
45
|
+
<codeStyleSettings language="TypeScript">
|
|
46
|
+
<option name="RIGHT_MARGIN" value="120" />
|
|
47
|
+
<option name="SOFT_MARGINS" value="120" />
|
|
48
|
+
<indentOptions>
|
|
49
|
+
<option name="INDENT_SIZE" value="2" />
|
|
50
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
51
|
+
<option name="TAB_SIZE" value="2" />
|
|
52
|
+
</indentOptions>
|
|
53
|
+
</codeStyleSettings>
|
|
54
|
+
<codeStyleSettings language="Vue">
|
|
55
|
+
<option name="SOFT_MARGINS" value="120" />
|
|
56
|
+
<indentOptions>
|
|
57
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
58
|
+
</indentOptions>
|
|
59
|
+
</codeStyleSettings>
|
|
60
|
+
</code_scheme>
|
|
61
|
+
</component>
|
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.33.
|
|
11
|
+
## [v1.33.2](https://github.com/zrwusa/data-structure-typed/compare/v1.12.9...main) (upcoming)
|
|
12
12
|
|
|
13
13
|
## [v1.12.9](https://github.com/zrwusa/data-structure-typed/compare/v1.12.8...v1.12.9) (14 August 2023)
|
|
14
14
|
|
package/README.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Data Structure Typed
|
|
2
2
|
|
|
3
|
+
Data Structures of Javascript & TypeScript.
|
|
4
|
+
|
|
5
|
+
A library that provides a variety of JavaScript and TypeScript data structures, as well as implementations of some
|
|
6
|
+
classic algorithms.
|
|
7
|
+
|
|
8
|
+
Do you envy languages like C++ with *std*, Python with *collections*, and Java with *java.util*? Well, no need to envy anymore! JavaScript and TypeScript now have *data-structure-typed*
|
|
9
|
+
|
|
3
10
|

|
|
4
11
|

|
|
5
12
|

|
|
@@ -7,10 +14,6 @@
|
|
|
7
14
|

|
|
8
15
|

|
|
9
16
|
|
|
10
|
-
## Brief
|
|
11
|
-
|
|
12
|
-
Data Structures of Javascript & TypeScript.
|
|
13
|
-
|
|
14
17
|
## Built-in classic algorithms
|
|
15
18
|
|
|
16
19
|
DFS(Depth-First Search), DFSIterative, BFS(Breadth-First Search), morris, Bellman-Ford Algorithm, Dijkstra's Algorithm,
|
|
@@ -21,7 +24,7 @@ Floyd-Warshall Algorithm, Tarjan's Algorithm.
|
|
|
21
24
|
### npm
|
|
22
25
|
|
|
23
26
|
```bash
|
|
24
|
-
npm
|
|
27
|
+
npm i data-structure-typed --save
|
|
25
28
|
```
|
|
26
29
|
|
|
27
30
|
### yarn
|
|
@@ -34,7 +37,7 @@ yarn add data-structure-typed
|
|
|
34
37
|
|
|
35
38
|
```html
|
|
36
39
|
|
|
37
|
-
<script src=
|
|
40
|
+
<script src='https://cdn.jsdelivr.net/npm/data-structure-typed/umd/bundle.min.js'></script>
|
|
38
41
|
```
|
|
39
42
|
|
|
40
43
|
```js
|
|
@@ -96,7 +99,7 @@ bst.get(6); // null
|
|
|
96
99
|
bst.isAVLBalanced(); // true
|
|
97
100
|
bst.BFS()[0] === 11; // true
|
|
98
101
|
|
|
99
|
-
const objBST = new BST<BSTNode<{
|
|
102
|
+
const objBST = new BST<BSTNode<{id: number, keyA: number}>>();
|
|
100
103
|
objBST.add(11, {id: 11, keyA: 11});
|
|
101
104
|
objBST.add(3, {id: 3, keyA: 3});
|
|
102
105
|
|
|
@@ -407,6 +410,193 @@ Array.from(dijkstraResult?.seen ?? []).map(vertex => vertex.id) // ['A', 'B', 'D
|
|
|
407
410
|
</tbody>
|
|
408
411
|
</table>
|
|
409
412
|
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
### Standard library data structure comparison
|
|
416
|
+
|
|
417
|
+
<table>
|
|
418
|
+
<thead>
|
|
419
|
+
<tr>
|
|
420
|
+
<th>Data Structure</th>
|
|
421
|
+
<th>C++ std</th>
|
|
422
|
+
<th>Data Structure Typed</th>
|
|
423
|
+
<th>java.util</th>
|
|
424
|
+
<th>Python collections</th>
|
|
425
|
+
</tr>
|
|
426
|
+
</thead>
|
|
427
|
+
<tbody>
|
|
428
|
+
<tr>
|
|
429
|
+
<td>Dynamic Array</td>
|
|
430
|
+
<td>std::vector<T></td>
|
|
431
|
+
<td>Array<E></td>
|
|
432
|
+
<td>ArrayList<E></td>
|
|
433
|
+
<td>list</td>
|
|
434
|
+
</tr>
|
|
435
|
+
<tr>
|
|
436
|
+
<td>Linked List</td>
|
|
437
|
+
<td>std::list<T></td>
|
|
438
|
+
<td>DoublyLinkedList<E></td>
|
|
439
|
+
<td>LinkedList<E></td>
|
|
440
|
+
<td>deque</td>
|
|
441
|
+
</tr>
|
|
442
|
+
<tr>
|
|
443
|
+
<td>Set</td>
|
|
444
|
+
<td>std::set<T></td>
|
|
445
|
+
<td>Set</td>
|
|
446
|
+
<td>HashSet<E></td>
|
|
447
|
+
<td>set</td>
|
|
448
|
+
</tr>
|
|
449
|
+
<tr>
|
|
450
|
+
<td>Map</td>
|
|
451
|
+
<td>std::map<K, V></td>
|
|
452
|
+
<td>Map</td>
|
|
453
|
+
<td>HashMap<K, V></td>
|
|
454
|
+
<td>dict</td>
|
|
455
|
+
</tr>
|
|
456
|
+
<tr>
|
|
457
|
+
<td>Unordered Map</td>
|
|
458
|
+
<td>std::unordered_map<K, V></td>
|
|
459
|
+
<td>N/A</td>
|
|
460
|
+
<td>HashMap<K, V></td>
|
|
461
|
+
<td>defaultdict</td>
|
|
462
|
+
</tr>
|
|
463
|
+
<tr>
|
|
464
|
+
<td>Unordered Set</td>
|
|
465
|
+
<td>std::unordered_set<T></td>
|
|
466
|
+
<td>N/A</td>
|
|
467
|
+
<td>HashSet<E></td>
|
|
468
|
+
<td>N/A</td>
|
|
469
|
+
</tr>
|
|
470
|
+
<tr>
|
|
471
|
+
<td>Queue</td>
|
|
472
|
+
<td>std::queue<T></td>
|
|
473
|
+
<td>Queue</td>
|
|
474
|
+
<td>Queue<E></td>
|
|
475
|
+
<td>N/A</td>
|
|
476
|
+
</tr>
|
|
477
|
+
<tr>
|
|
478
|
+
<td>Priority Queue</td>
|
|
479
|
+
<td>std::priority_queue<T></td>
|
|
480
|
+
<td>PriorityQueue</td>
|
|
481
|
+
<td>PriorityQueue<E></td>
|
|
482
|
+
<td>N/A</td>
|
|
483
|
+
</tr>
|
|
484
|
+
<tr>
|
|
485
|
+
<td>Stack</td>
|
|
486
|
+
<td>std::stack<T></td>
|
|
487
|
+
<td>Stack</td>
|
|
488
|
+
<td>Stack<E></td>
|
|
489
|
+
<td>N/A</td>
|
|
490
|
+
</tr>
|
|
491
|
+
<tr>
|
|
492
|
+
<td>Bitset</td>
|
|
493
|
+
<td>std::bitset<N></td>
|
|
494
|
+
<td>N/A</td>
|
|
495
|
+
<td>N/A</td>
|
|
496
|
+
<td>N/A</td>
|
|
497
|
+
</tr>
|
|
498
|
+
<tr>
|
|
499
|
+
<td>Deque</td>
|
|
500
|
+
<td>std::deque<T></td>
|
|
501
|
+
<td>Deque</td>
|
|
502
|
+
<td>N/A</td>
|
|
503
|
+
<td>N/A</td>
|
|
504
|
+
</tr>
|
|
505
|
+
<tr>
|
|
506
|
+
<td>Multiset</td>
|
|
507
|
+
<td>std::multiset<T></td>
|
|
508
|
+
<td>N/A</td>
|
|
509
|
+
<td>N/A</td>
|
|
510
|
+
<td>N/A</td>
|
|
511
|
+
</tr>
|
|
512
|
+
<tr>
|
|
513
|
+
<td>Multimap</td>
|
|
514
|
+
<td>std::multimap<K, V></td>
|
|
515
|
+
<td>N/A</td>
|
|
516
|
+
<td>N/A</td>
|
|
517
|
+
<td>N/A</td>
|
|
518
|
+
</tr>
|
|
519
|
+
<tr>
|
|
520
|
+
<td>Unordered Multiset</td>
|
|
521
|
+
<td>std::unordered_multiset</td>
|
|
522
|
+
<td>N/A</td>
|
|
523
|
+
<td>Counter</td>
|
|
524
|
+
<td>N/A</td>
|
|
525
|
+
</tr>
|
|
526
|
+
<tr>
|
|
527
|
+
<td>Ordered Dictionary</td>
|
|
528
|
+
<td>N/A</td>
|
|
529
|
+
<td>Map</td>
|
|
530
|
+
<td>N/A</td>
|
|
531
|
+
<td>OrderedDict</td>
|
|
532
|
+
</tr>
|
|
533
|
+
<tr>
|
|
534
|
+
<td>Double-Ended Queue (Deque)</td>
|
|
535
|
+
<td>std::deque<T></td>
|
|
536
|
+
<td>Deque</td>
|
|
537
|
+
<td>N/A</td>
|
|
538
|
+
<td>N/A</td>
|
|
539
|
+
</tr>
|
|
540
|
+
<tr>
|
|
541
|
+
<td>Linked Hash Set</td>
|
|
542
|
+
<td>N/A</td>
|
|
543
|
+
<td>N/A</td>
|
|
544
|
+
<td>LinkedHashSet<E></td>
|
|
545
|
+
<td>N/A</td>
|
|
546
|
+
</tr>
|
|
547
|
+
<tr>
|
|
548
|
+
<td>Linked Hash Map</td>
|
|
549
|
+
<td>N/A</td>
|
|
550
|
+
<td>N/A</td>
|
|
551
|
+
<td>LinkedHashMap<K, V></td>
|
|
552
|
+
<td>N/A</td>
|
|
553
|
+
</tr>
|
|
554
|
+
<tr>
|
|
555
|
+
<td>Sorted Set</td>
|
|
556
|
+
<td>N/A</td>
|
|
557
|
+
<td>AVLTree, RBTree</td>
|
|
558
|
+
<td>TreeSet<E></td>
|
|
559
|
+
<td>N/A</td>
|
|
560
|
+
</tr>
|
|
561
|
+
<tr>
|
|
562
|
+
<td>Sorted Map</td>
|
|
563
|
+
<td>N/A</td>
|
|
564
|
+
<td>AVLTree, RBTree</td>
|
|
565
|
+
<td>TreeMap<K, V></td>
|
|
566
|
+
<td>N/A</td>
|
|
567
|
+
</tr>
|
|
568
|
+
<tr>
|
|
569
|
+
<td>Tree Set</td>
|
|
570
|
+
<td>std::set</td>
|
|
571
|
+
<td>AVLTree, RBTree</td>
|
|
572
|
+
<td>TreeSet<E></td>
|
|
573
|
+
<td>N/A</td>
|
|
574
|
+
</tr>
|
|
575
|
+
<tr>
|
|
576
|
+
<td>Persistent Collections</td>
|
|
577
|
+
<td>N/A</td>
|
|
578
|
+
<td>N/A</td>
|
|
579
|
+
<td>N/A</td>
|
|
580
|
+
<td>N/A</td>
|
|
581
|
+
</tr>
|
|
582
|
+
<tr>
|
|
583
|
+
<td>unordered multiset</td>
|
|
584
|
+
<td>unordered multiset<T></td>
|
|
585
|
+
<td>N/A</td>
|
|
586
|
+
<td>N/A</td>
|
|
587
|
+
<td>N/A</td>
|
|
588
|
+
</tr>
|
|
589
|
+
<tr>
|
|
590
|
+
<td>Unordered Multimap</td>
|
|
591
|
+
<td>std::unordered_multimap<K, V></td>
|
|
592
|
+
<td>N/A</td>
|
|
593
|
+
<td>N/A</td>
|
|
594
|
+
<td>N/A</td>
|
|
595
|
+
</tr>
|
|
596
|
+
</tbody>
|
|
597
|
+
</table>
|
|
598
|
+
|
|
599
|
+
|
|
410
600
|
## Code design
|
|
411
601
|
|
|
412
602
|
By strictly adhering to object-oriented design (BinaryTree -> BST -> AVLTree -> TreeMultiset), you can seamlessly
|
|
@@ -675,253 +865,3 @@ optimal approach to data structure design.
|
|
|
675
865
|
</tr>
|
|
676
866
|
</tbody>
|
|
677
867
|
</table>
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
<table>
|
|
681
|
-
<tr>
|
|
682
|
-
<th>Data Structure</th>
|
|
683
|
-
<th>C++ STL</th>
|
|
684
|
-
<th>java.util</th>
|
|
685
|
-
<th>Python collections</th>
|
|
686
|
-
</tr>
|
|
687
|
-
<tr>
|
|
688
|
-
<td>Dynamic Array (ArrayList)</td>
|
|
689
|
-
<td>std::vector<T></td>
|
|
690
|
-
<td>ArrayList<E></td>
|
|
691
|
-
<td>list</td>
|
|
692
|
-
</tr>
|
|
693
|
-
<tr>
|
|
694
|
-
<td>Linked List</td>
|
|
695
|
-
<td>std::list<T></td>
|
|
696
|
-
<td>LinkedList<E></td>
|
|
697
|
-
<td>deque</td>
|
|
698
|
-
</tr>
|
|
699
|
-
<tr>
|
|
700
|
-
<td>Set</td>
|
|
701
|
-
<td>std::set<T></td>
|
|
702
|
-
<td>HashSet<E></td>
|
|
703
|
-
<td>set</td>
|
|
704
|
-
</tr>
|
|
705
|
-
<tr>
|
|
706
|
-
<td>Map</td>
|
|
707
|
-
<td>std::map<K, V></td>
|
|
708
|
-
<td>HashMap<K, V></td>
|
|
709
|
-
<td>dict</td>
|
|
710
|
-
</tr>
|
|
711
|
-
<tr>
|
|
712
|
-
<td>Stack</td>
|
|
713
|
-
<td>std::stack<T></td>
|
|
714
|
-
<td>Stack<E></td>
|
|
715
|
-
<td>N/A</td>
|
|
716
|
-
</tr>
|
|
717
|
-
<tr>
|
|
718
|
-
<td>Queue</td>
|
|
719
|
-
<td>std::queue<T></td>
|
|
720
|
-
<td>LinkedList<E></td>
|
|
721
|
-
<td>N/A</td>
|
|
722
|
-
</tr>
|
|
723
|
-
<tr>
|
|
724
|
-
<td>Priority Queue</td>
|
|
725
|
-
<td>std::priority_queue<T></td>
|
|
726
|
-
<td>PriorityQueue<E></td>
|
|
727
|
-
<td>N/A</td>
|
|
728
|
-
</tr>
|
|
729
|
-
<tr>
|
|
730
|
-
<td>Hash Table</td>
|
|
731
|
-
<td>N/A</td>
|
|
732
|
-
<td>N/A</td>
|
|
733
|
-
<td>defaultdict, Counter, etc.</td>
|
|
734
|
-
</tr>
|
|
735
|
-
<tr>
|
|
736
|
-
<td>Deque</td>
|
|
737
|
-
<td>std::deque<T></td>
|
|
738
|
-
<td>N/A</td>
|
|
739
|
-
<td>N/A</td>
|
|
740
|
-
</tr>
|
|
741
|
-
<tr>
|
|
742
|
-
<td>Multiset</td>
|
|
743
|
-
<td>std::multiset<T></td>
|
|
744
|
-
<td>N/A</td>
|
|
745
|
-
<td>N/A</td>
|
|
746
|
-
</tr>
|
|
747
|
-
<tr>
|
|
748
|
-
<td>Multimap</td>
|
|
749
|
-
<td>std::multimap<K, V></td>
|
|
750
|
-
<td>N/A</td>
|
|
751
|
-
<td>N/A</td>
|
|
752
|
-
</tr>
|
|
753
|
-
<tr>
|
|
754
|
-
<td>Unordered Set</td>
|
|
755
|
-
<td>std::unordered_set<T></td>
|
|
756
|
-
<td>HashSet<E></td>
|
|
757
|
-
<td>N/A</td>
|
|
758
|
-
</tr>
|
|
759
|
-
<tr>
|
|
760
|
-
<td>Unordered Map</td>
|
|
761
|
-
<td>std::unordered_map<K, V></td>
|
|
762
|
-
<td>HashMap<K, V></td>
|
|
763
|
-
<td>N/A</td>
|
|
764
|
-
</tr>
|
|
765
|
-
<tr>
|
|
766
|
-
<td>Bitset</td>
|
|
767
|
-
<td>std::bitset<N></td>
|
|
768
|
-
<td>N/A</td>
|
|
769
|
-
<td>N/A</td>
|
|
770
|
-
</tr>
|
|
771
|
-
<tr>
|
|
772
|
-
<td>Ordered Dictionary (OrderedDict)</td>
|
|
773
|
-
<td>N/A</td>
|
|
774
|
-
<td>N/A</td>
|
|
775
|
-
<td>OrderedDict</td>
|
|
776
|
-
</tr>
|
|
777
|
-
<tr>
|
|
778
|
-
<td>User-Defined Dictionary</td>
|
|
779
|
-
<td>N/A</td>
|
|
780
|
-
<td>N/A</td>
|
|
781
|
-
<td>UserDict</td>
|
|
782
|
-
</tr>
|
|
783
|
-
<tr>
|
|
784
|
-
<td>User-Defined List</td>
|
|
785
|
-
<td>N/A</td>
|
|
786
|
-
<td>N/A</td>
|
|
787
|
-
<td>UserList</td>
|
|
788
|
-
</tr>
|
|
789
|
-
<tr>
|
|
790
|
-
<td>User-Defined Set</td>
|
|
791
|
-
<td>N/A</td>
|
|
792
|
-
<td>N/A</td>
|
|
793
|
-
<td>UserSet</td>
|
|
794
|
-
</tr>
|
|
795
|
-
<tr>
|
|
796
|
-
<td>Double-Ended Queue (Deque)</td>
|
|
797
|
-
<td>std::deque<T></td>
|
|
798
|
-
<td>N/A</td>
|
|
799
|
-
<td>N/A</td>
|
|
800
|
-
</tr>
|
|
801
|
-
<tr>
|
|
802
|
-
<td>Skip List</td>
|
|
803
|
-
<td>N/A</td>
|
|
804
|
-
<td>N/A</td>
|
|
805
|
-
<td>N/A</td>
|
|
806
|
-
</tr>
|
|
807
|
-
<tr>
|
|
808
|
-
<td>Circular Queue</td>
|
|
809
|
-
<td>N/A</td>
|
|
810
|
-
<td>N/A</td>
|
|
811
|
-
<td>N/A</td>
|
|
812
|
-
</tr>
|
|
813
|
-
<tr>
|
|
814
|
-
<td>Bit Array</td>
|
|
815
|
-
<td>N/A</td>
|
|
816
|
-
<td>N/A</td>
|
|
817
|
-
<td>N/A</td>
|
|
818
|
-
</tr>
|
|
819
|
-
<tr>
|
|
820
|
-
<td>Bloom Filter</td>
|
|
821
|
-
<td>N/A</td>
|
|
822
|
-
<td>N/A</td>
|
|
823
|
-
<td>N/A</td>
|
|
824
|
-
</tr>
|
|
825
|
-
<tr>
|
|
826
|
-
<td>Linked Hash Set</td>
|
|
827
|
-
<td>N/A</td>
|
|
828
|
-
<td>LinkedHashSet<E></td>
|
|
829
|
-
<td>N/A</td>
|
|
830
|
-
</tr>
|
|
831
|
-
<tr>
|
|
832
|
-
<td>Linked Hash Map</td>
|
|
833
|
-
<td>N/A</td>
|
|
834
|
-
<td>LinkedHashMap<K, V></td>
|
|
835
|
-
<td>N/A</td>
|
|
836
|
-
</tr>
|
|
837
|
-
<tr>
|
|
838
|
-
<td>Sorted Set</td>
|
|
839
|
-
<td>N/A</td>
|
|
840
|
-
<td>TreeSet<E></td>
|
|
841
|
-
<td>N/A</td>
|
|
842
|
-
</tr>
|
|
843
|
-
<tr>
|
|
844
|
-
<td>Sorted Map</td>
|
|
845
|
-
<td>N/A</td>
|
|
846
|
-
<td>TreeMap<K, V></td>
|
|
847
|
-
<td>N/A</td>
|
|
848
|
-
</tr>
|
|
849
|
-
<tr>
|
|
850
|
-
<td>Tree Set</td>
|
|
851
|
-
<td>N/A</td>
|
|
852
|
-
<td>N/A</td>
|
|
853
|
-
<td>N/A</td>
|
|
854
|
-
</tr>
|
|
855
|
-
<tr>
|
|
856
|
-
<td>Tree Map</td>
|
|
857
|
-
<td>N/A</td>
|
|
858
|
-
<td>N/A</td>
|
|
859
|
-
<td>N/A</td>
|
|
860
|
-
</tr>
|
|
861
|
-
<tr>
|
|
862
|
-
<td>Persistent Collections</td>
|
|
863
|
-
<td>N/A</td>
|
|
864
|
-
<td>N/A</td>
|
|
865
|
-
<td>N/A</td>
|
|
866
|
-
</tr>
|
|
867
|
-
<tr>
|
|
868
|
-
<td>std::unordered_multiset</td>
|
|
869
|
-
<td>std::unordered_multiset<T></td>
|
|
870
|
-
<td>N/A</td>
|
|
871
|
-
<td>N/A</td>
|
|
872
|
-
</tr>
|
|
873
|
-
<tr>
|
|
874
|
-
<td>std::unordered_multimap</td>
|
|
875
|
-
<td>std::unordered_multimap<K, V></td>
|
|
876
|
-
<td>N/A</td>
|
|
877
|
-
<td>N/A</td>
|
|
878
|
-
</tr>
|
|
879
|
-
<tr>
|
|
880
|
-
<td>N/A</td>
|
|
881
|
-
<td>TreeSet<E></td>
|
|
882
|
-
<td>TreeSet<E></td>
|
|
883
|
-
<td>N/A</td>
|
|
884
|
-
</tr>
|
|
885
|
-
<tr>
|
|
886
|
-
<td>N/A</td>
|
|
887
|
-
<td>TreeMap<K, V></td>
|
|
888
|
-
<td>TreeMap<K, V></td>
|
|
889
|
-
<td>N/A</td>
|
|
890
|
-
</tr>
|
|
891
|
-
<tr>
|
|
892
|
-
<td>N/A</td>
|
|
893
|
-
<td>LinkedBlockingQueue<E></td>
|
|
894
|
-
<td>N/A</td>
|
|
895
|
-
<td>N/A</td>
|
|
896
|
-
</tr>
|
|
897
|
-
<tr>
|
|
898
|
-
<td>N/A</td>
|
|
899
|
-
<td>ConcurrentHashMap<K, V></td>
|
|
900
|
-
<td>N/A</td>
|
|
901
|
-
<td>N/A</td>
|
|
902
|
-
</tr>
|
|
903
|
-
<tr>
|
|
904
|
-
<td>N/A</td>
|
|
905
|
-
<td>N/A</td>
|
|
906
|
-
<td>namedtuple</td>
|
|
907
|
-
<td>N/A</td>
|
|
908
|
-
</tr>
|
|
909
|
-
<tr>
|
|
910
|
-
<td>N/A</td>
|
|
911
|
-
<td>N/A</td>
|
|
912
|
-
<td>ChainMap</td>
|
|
913
|
-
<td>N/A</td>
|
|
914
|
-
</tr>
|
|
915
|
-
<tr>
|
|
916
|
-
<td>N/A</td>
|
|
917
|
-
<td>N/A</td>
|
|
918
|
-
<td>defaultdict</td>
|
|
919
|
-
<td>N/A</td>
|
|
920
|
-
</tr>
|
|
921
|
-
<tr>
|
|
922
|
-
<td>N/A</td>
|
|
923
|
-
<td>N/A</td>
|
|
924
|
-
<td>Counter</td>
|
|
925
|
-
<td>N/A</td>
|
|
926
|
-
</tr>
|
|
927
|
-
</table>
|