data-structure-typed 2.5.1 → 2.5.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.
Files changed (184) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/MIGRATION.md +169 -0
  3. package/README.md +135 -23
  4. package/README_CN.md +551 -143
  5. package/SPECIFICATION.md +20 -14
  6. package/SPECIFICATION.zh-CN.md +20 -14
  7. package/dist/cjs/binary-tree.cjs +6460 -1591
  8. package/dist/cjs/graph.cjs +440 -20
  9. package/dist/cjs/hash.cjs +125 -22
  10. package/dist/cjs/heap.cjs +196 -47
  11. package/dist/cjs/index.cjs +8486 -2429
  12. package/dist/cjs/linked-list.cjs +456 -31
  13. package/dist/cjs/matrix.cjs +79 -9
  14. package/dist/cjs/priority-queue.cjs +193 -44
  15. package/dist/cjs/queue.cjs +391 -2
  16. package/dist/cjs/stack.cjs +92 -6
  17. package/dist/cjs/trie.cjs +122 -28
  18. package/dist/cjs-legacy/binary-tree.cjs +6484 -1612
  19. package/dist/cjs-legacy/graph.cjs +440 -20
  20. package/dist/cjs-legacy/hash.cjs +125 -22
  21. package/dist/cjs-legacy/heap.cjs +196 -47
  22. package/dist/cjs-legacy/index.cjs +8654 -2594
  23. package/dist/cjs-legacy/linked-list.cjs +456 -31
  24. package/dist/cjs-legacy/matrix.cjs +79 -9
  25. package/dist/cjs-legacy/priority-queue.cjs +193 -44
  26. package/dist/cjs-legacy/queue.cjs +391 -2
  27. package/dist/cjs-legacy/stack.cjs +92 -6
  28. package/dist/cjs-legacy/trie.cjs +122 -28
  29. package/dist/esm/binary-tree.mjs +6460 -1591
  30. package/dist/esm/graph.mjs +440 -20
  31. package/dist/esm/hash.mjs +125 -22
  32. package/dist/esm/heap.mjs +196 -47
  33. package/dist/esm/index.mjs +8486 -2430
  34. package/dist/esm/linked-list.mjs +456 -31
  35. package/dist/esm/matrix.mjs +79 -9
  36. package/dist/esm/priority-queue.mjs +193 -44
  37. package/dist/esm/queue.mjs +391 -2
  38. package/dist/esm/stack.mjs +92 -6
  39. package/dist/esm/trie.mjs +122 -28
  40. package/dist/esm-legacy/binary-tree.mjs +6484 -1612
  41. package/dist/esm-legacy/graph.mjs +440 -20
  42. package/dist/esm-legacy/hash.mjs +125 -22
  43. package/dist/esm-legacy/heap.mjs +196 -47
  44. package/dist/esm-legacy/index.mjs +8654 -2595
  45. package/dist/esm-legacy/linked-list.mjs +456 -31
  46. package/dist/esm-legacy/matrix.mjs +79 -9
  47. package/dist/esm-legacy/priority-queue.mjs +193 -44
  48. package/dist/esm-legacy/queue.mjs +391 -2
  49. package/dist/esm-legacy/stack.mjs +92 -6
  50. package/dist/esm-legacy/trie.mjs +122 -28
  51. package/dist/types/common/error.d.ts +9 -0
  52. package/dist/types/common/index.d.ts +1 -1
  53. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +98 -2
  54. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +112 -0
  55. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +214 -13
  56. package/dist/types/data-structures/binary-tree/bst.d.ts +294 -3
  57. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +155 -8
  58. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +48 -0
  59. package/dist/types/data-structures/binary-tree/tree-map.d.ts +1370 -323
  60. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1329 -316
  61. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +1116 -295
  62. package/dist/types/data-structures/binary-tree/tree-set.d.ts +1330 -326
  63. package/dist/types/data-structures/graph/directed-graph.d.ts +80 -0
  64. package/dist/types/data-structures/graph/undirected-graph.d.ts +72 -0
  65. package/dist/types/data-structures/hash/hash-map.d.ts +95 -6
  66. package/dist/types/data-structures/heap/heap.d.ts +154 -12
  67. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +143 -0
  68. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +121 -1
  69. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +144 -0
  70. package/dist/types/data-structures/matrix/matrix.d.ts +64 -0
  71. package/dist/types/data-structures/queue/deque.d.ts +142 -0
  72. package/dist/types/data-structures/queue/queue.d.ts +109 -0
  73. package/dist/types/data-structures/stack/stack.d.ts +82 -2
  74. package/dist/types/data-structures/trie/trie.d.ts +96 -0
  75. package/dist/types/interfaces/binary-tree.d.ts +2 -3
  76. package/dist/types/types/data-structures/binary-tree/bst.d.ts +1 -0
  77. package/dist/types/types/data-structures/binary-tree/tree-map.d.ts +5 -0
  78. package/dist/types/types/data-structures/binary-tree/tree-multi-set.d.ts +4 -0
  79. package/dist/types/types/data-structures/binary-tree/tree-set.d.ts +4 -0
  80. package/dist/umd/data-structure-typed.js +8623 -2564
  81. package/dist/umd/data-structure-typed.min.js +5 -5
  82. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +696 -194
  83. package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +11 -11
  84. package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +71 -71
  85. package/docs-site-docusaurus/docs/api/classes/BST.md +639 -189
  86. package/docs-site-docusaurus/docs/api/classes/BSTNode.md +13 -13
  87. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +15 -15
  88. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +148 -160
  89. package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
  90. package/docs-site-docusaurus/docs/api/classes/Deque.md +105 -91
  91. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +82 -82
  92. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +104 -74
  93. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +8 -8
  94. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +12 -12
  95. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
  96. package/docs-site-docusaurus/docs/api/classes/HashMap.md +51 -51
  97. package/docs-site-docusaurus/docs/api/classes/Heap.md +96 -85
  98. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +25 -25
  99. package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +33 -33
  100. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +50 -50
  101. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +55 -55
  102. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +55 -55
  103. package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +6 -6
  104. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +78 -78
  105. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +82 -82
  106. package/docs-site-docusaurus/docs/api/classes/Matrix.md +31 -31
  107. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +104 -89
  108. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +104 -89
  109. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +104 -89
  110. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +104 -89
  111. package/docs-site-docusaurus/docs/api/classes/Navigator.md +5 -5
  112. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +103 -88
  113. package/docs-site-docusaurus/docs/api/classes/Queue.md +112 -60
  114. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +708 -206
  115. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -10
  116. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +79 -79
  117. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +6 -6
  118. package/docs-site-docusaurus/docs/api/classes/SkipList.md +44 -44
  119. package/docs-site-docusaurus/docs/api/classes/Stack.md +42 -42
  120. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +236 -33
  121. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +162 -46
  122. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +232 -32
  123. package/docs-site-docusaurus/docs/api/classes/Trie.md +47 -47
  124. package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
  125. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +81 -81
  126. package/docs-site-docusaurus/docs/guide/architecture.md +75 -5
  127. package/docs-site-docusaurus/docs/guide/concepts.md +53 -3
  128. package/docs-site-docusaurus/docs/guide/faq.md +233 -0
  129. package/docs-site-docusaurus/docs/guide/guides.md +43 -58
  130. package/docs-site-docusaurus/docs/guide/installation.md +2 -0
  131. package/docs-site-docusaurus/docs/guide/integrations.md +75 -176
  132. package/docs-site-docusaurus/docs/guide/overview.md +132 -11
  133. package/docs-site-docusaurus/docs/guide/performance.md +2 -0
  134. package/docs-site-docusaurus/docs/guide/quick-start.md +31 -0
  135. package/docs-site-docusaurus/docs/guide/use-cases/_category_.json +6 -0
  136. package/docs-site-docusaurus/docs/guide/use-cases/array-sort-alternative.md +158 -0
  137. package/docs-site-docusaurus/docs/guide/use-cases/heap-vs-sorting.md +92 -0
  138. package/docs-site-docusaurus/docs/guide/use-cases/map-vs-treemap.md +151 -0
  139. package/docs-site-docusaurus/docs/guide/use-cases/priority-queue-typescript.md +113 -0
  140. package/docs-site-docusaurus/docs/guide/use-cases/treemap-javascript.md +151 -0
  141. package/docs-site-docusaurus/docusaurus.config.ts +1 -1
  142. package/docs-site-docusaurus/src/pages/index.tsx +55 -2
  143. package/docs-site-docusaurus/static/llms.txt +37 -0
  144. package/docs-site-docusaurus/typedoc.json +1 -0
  145. package/llms.txt +37 -0
  146. package/package.json +65 -56
  147. package/src/common/error.ts +19 -1
  148. package/src/common/index.ts +1 -1
  149. package/src/data-structures/base/iterable-element-base.ts +3 -2
  150. package/src/data-structures/binary-tree/avl-tree.ts +99 -5
  151. package/src/data-structures/binary-tree/binary-indexed-tree.ts +102 -4
  152. package/src/data-structures/binary-tree/binary-tree.ts +239 -78
  153. package/src/data-structures/binary-tree/bst.ts +542 -13
  154. package/src/data-structures/binary-tree/red-black-tree.ts +155 -15
  155. package/src/data-structures/binary-tree/segment-tree.ts +42 -0
  156. package/src/data-structures/binary-tree/tree-map.ts +1223 -261
  157. package/src/data-structures/binary-tree/tree-multi-map.ts +939 -30
  158. package/src/data-structures/binary-tree/tree-multi-set.ts +746 -10
  159. package/src/data-structures/binary-tree/tree-set.ts +1018 -99
  160. package/src/data-structures/graph/abstract-graph.ts +2 -2
  161. package/src/data-structures/graph/directed-graph.ts +71 -1
  162. package/src/data-structures/graph/undirected-graph.ts +64 -1
  163. package/src/data-structures/hash/hash-map.ts +102 -16
  164. package/src/data-structures/heap/heap.ts +153 -23
  165. package/src/data-structures/heap/max-heap.ts +2 -2
  166. package/src/data-structures/linked-list/doubly-linked-list.ts +139 -0
  167. package/src/data-structures/linked-list/singly-linked-list.ts +106 -1
  168. package/src/data-structures/linked-list/skip-linked-list.ts +131 -5
  169. package/src/data-structures/matrix/matrix.ts +65 -9
  170. package/src/data-structures/priority-queue/max-priority-queue.ts +2 -2
  171. package/src/data-structures/queue/deque.ts +130 -0
  172. package/src/data-structures/queue/queue.ts +109 -0
  173. package/src/data-structures/stack/stack.ts +75 -5
  174. package/src/data-structures/trie/trie.ts +86 -2
  175. package/src/interfaces/binary-tree.ts +1 -9
  176. package/src/types/data-structures/binary-tree/bst.ts +1 -0
  177. package/src/types/data-structures/binary-tree/tree-map.ts +6 -0
  178. package/src/types/data-structures/binary-tree/tree-multi-set.ts +5 -0
  179. package/src/types/data-structures/binary-tree/tree-set.ts +5 -0
  180. package/.vitepress/cache/deps_temp_51f5f1b0/chunk-7OIKW5WK.js +0 -12984
  181. package/.vitepress/cache/deps_temp_51f5f1b0/package.json +0 -3
  182. package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vue_devtools-api.js +0 -4505
  183. package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vueuse_core.js +0 -9731
  184. package/.vitepress/cache/deps_temp_51f5f1b0/vue.js +0 -347
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: Stack\<E, R\>
8
8
 
9
- Defined in: [data-structures/stack/stack.ts:135](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L135)
9
+ Defined in: [data-structures/stack/stack.ts:135](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L135)
10
10
 
11
11
  LIFO stack with array storage and optional record→element conversion.
12
12
 
@@ -170,7 +170,7 @@ Time O(1), Space O(1)
170
170
  new Stack<E, R>(elements?, options?): Stack<E, R>;
171
171
  ```
172
172
 
173
- Defined in: [data-structures/stack/stack.ts:146](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L146)
173
+ Defined in: [data-structures/stack/stack.ts:146](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L146)
174
174
 
175
175
  Create a Stack and optionally bulk-push elements.
176
176
 
@@ -212,7 +212,7 @@ Time O(N), Space O(N)
212
212
  get elements(): E[];
213
213
  ```
214
214
 
215
- Defined in: [data-structures/stack/stack.ts:159](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L159)
215
+ Defined in: [data-structures/stack/stack.ts:159](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L159)
216
216
 
217
217
  Get the backing array of elements.
218
218
 
@@ -236,7 +236,7 @@ Internal elements array.
236
236
  get size(): number;
237
237
  ```
238
238
 
239
- Defined in: [data-structures/stack/stack.ts:199](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L199)
239
+ Defined in: [data-structures/stack/stack.ts:210](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L210)
240
240
 
241
241
  Get the number of stored elements.
242
242
 
@@ -270,7 +270,7 @@ Current size.
270
270
  get toElementFn(): ((rawElement) => E) | undefined;
271
271
  ```
272
272
 
273
- Defined in: [data-structures/base/iterable-element-base.ts:47](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L47)
273
+ Defined in: [data-structures/base/iterable-element-base.ts:48](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L48)
274
274
 
275
275
  Exposes the current `toElementFn`, if configured.
276
276
 
@@ -296,7 +296,7 @@ The converter function or `undefined` when not set.
296
296
  iterator: IterableIterator<E>;
297
297
  ```
298
298
 
299
- Defined in: [data-structures/base/iterable-element-base.ts:60](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L60)
299
+ Defined in: [data-structures/base/iterable-element-base.ts:61](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L61)
300
300
 
301
301
  Returns an iterator over the structure's elements.
302
302
 
@@ -330,7 +330,7 @@ Producing the iterator is O(1); consuming the entire iterator is Time O(n) with
330
330
  clear(): void;
331
331
  ```
332
332
 
333
- Defined in: [data-structures/stack/stack.ts:544](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L544)
333
+ Defined in: [data-structures/stack/stack.ts:621](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L621)
334
334
 
335
335
  Remove all elements and reset storage.
336
336
 
@@ -367,7 +367,7 @@ Time O(1), Space O(1)
367
367
  clone(): this;
368
368
  ```
369
369
 
370
- Defined in: [data-structures/stack/stack.ts:587](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L587)
370
+ Defined in: [data-structures/stack/stack.ts:675](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L675)
371
371
 
372
372
  Deep clone this stack.
373
373
 
@@ -406,7 +406,7 @@ Time O(N), Space O(N)
406
406
  delete(element): boolean;
407
407
  ```
408
408
 
409
- Defined in: [data-structures/stack/stack.ts:472](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L472)
409
+ Defined in: [data-structures/stack/stack.ts:538](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L538)
410
410
 
411
411
  Delete the first occurrence of a specific element.
412
412
 
@@ -444,10 +444,10 @@ Time O(N), Space O(1)
444
444
  ### deleteAt()
445
445
 
446
446
  ```ts
447
- deleteAt(index): boolean;
447
+ deleteAt(index): E | undefined;
448
448
  ```
449
449
 
450
- Defined in: [data-structures/stack/stack.ts:484](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L484)
450
+ Defined in: [data-structures/stack/stack.ts:550](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L550)
451
451
 
452
452
  Delete the element at an index.
453
453
 
@@ -461,9 +461,9 @@ Zero-based index from the bottom.
461
461
 
462
462
  #### Returns
463
463
 
464
- `boolean`
464
+ `E` \| `undefined`
465
465
 
466
- True if removed.
466
+ The removed element, or undefined if the index is out of range.
467
467
 
468
468
  #### Remarks
469
469
 
@@ -477,7 +477,7 @@ Time O(N), Space O(1)
477
477
  deleteWhere(predicate): boolean;
478
478
  ```
479
479
 
480
- Defined in: [data-structures/stack/stack.ts:497](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L497)
480
+ Defined in: [data-structures/stack/stack.ts:563](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L563)
481
481
 
482
482
  Delete the first element that satisfies a predicate.
483
483
 
@@ -507,7 +507,7 @@ Time O(N), Space O(1)
507
507
  every(predicate, thisArg?): boolean;
508
508
  ```
509
509
 
510
- Defined in: [data-structures/base/iterable-element-base.ts:86](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L86)
510
+ Defined in: [data-structures/base/iterable-element-base.ts:87](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L87)
511
511
 
512
512
  Tests whether all elements satisfy the predicate.
513
513
 
@@ -547,7 +547,7 @@ Time O(n) in the worst case; may exit early when the first failure is found. Spa
547
547
  filter(predicate, thisArg?): this;
548
548
  ```
549
549
 
550
- Defined in: [data-structures/stack/stack.ts:632](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L632)
550
+ Defined in: [data-structures/stack/stack.ts:731](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L731)
551
551
 
552
552
  Filter elements into a new stack of the same class.
553
553
 
@@ -600,7 +600,7 @@ Time O(N), Space O(N)
600
600
  find<S>(predicate, thisArg?): S | undefined;
601
601
  ```
602
602
 
603
- Defined in: [data-structures/base/iterable-element-base.ts:162](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L162)
603
+ Defined in: [data-structures/base/iterable-element-base.ts:163](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L163)
604
604
 
605
605
  Finds the first element that satisfies the predicate and returns it.
606
606
 
@@ -646,7 +646,7 @@ Time O(n) in the worst case; may exit early on the first match. Space O(1).
646
646
  find(predicate, thisArg?): E | undefined;
647
647
  ```
648
648
 
649
- Defined in: [data-structures/base/iterable-element-base.ts:163](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L163)
649
+ Defined in: [data-structures/base/iterable-element-base.ts:164](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L164)
650
650
 
651
651
  Finds the first element that satisfies the predicate and returns it.
652
652
 
@@ -688,7 +688,7 @@ Time O(n) in the worst case; may exit early on the first match. Space O(1).
688
688
  forEach(callbackfn, thisArg?): void;
689
689
  ```
690
690
 
691
- Defined in: [data-structures/base/iterable-element-base.ts:132](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L132)
691
+ Defined in: [data-structures/base/iterable-element-base.ts:133](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L133)
692
692
 
693
693
  Invokes a callback for each element in iteration order.
694
694
 
@@ -728,7 +728,7 @@ Time O(n), Space O(1).
728
728
  has(element): boolean;
729
729
  ```
730
730
 
731
- Defined in: [data-structures/base/iterable-element-base.ts:188](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L188)
731
+ Defined in: [data-structures/base/iterable-element-base.ts:189](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L189)
732
732
 
733
733
  Checks whether a strictly-equal element exists in the structure.
734
734
 
@@ -762,7 +762,7 @@ Time O(n) in the worst case. Space O(1).
762
762
  isEmpty(): boolean;
763
763
  ```
764
764
 
765
- Defined in: [data-structures/stack/stack.ts:262](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L262)
765
+ Defined in: [data-structures/stack/stack.ts:284](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L284)
766
766
 
767
767
  Check whether the stack is empty.
768
768
 
@@ -803,7 +803,7 @@ map<EM, RM>(
803
803
  thisArg?): Stack<EM, RM>;
804
804
  ```
805
805
 
806
- Defined in: [data-structures/stack/stack.ts:701](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L701)
806
+ Defined in: [data-structures/stack/stack.ts:811](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L811)
807
807
 
808
808
  Map values into a new stack (possibly different element type).
809
809
 
@@ -870,7 +870,7 @@ Time O(N), Space O(N)
870
870
  mapSame(callback, thisArg?): this;
871
871
  ```
872
872
 
873
- Defined in: [data-structures/stack/stack.ts:650](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L650)
873
+ Defined in: [data-structures/stack/stack.ts:749](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L749)
874
874
 
875
875
  Map values into a new stack of the same element type.
876
876
 
@@ -910,7 +910,7 @@ Time O(N), Space O(N)
910
910
  peek(): E | undefined;
911
911
  ```
912
912
 
913
- Defined in: [data-structures/stack/stack.ts:305](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L305)
913
+ Defined in: [data-structures/stack/stack.ts:338](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L338)
914
914
 
915
915
  Get the top element without removing it.
916
916
 
@@ -943,7 +943,7 @@ Time O(1), Space O(1)
943
943
  pop(): E | undefined;
944
944
  ```
945
945
 
946
- Defined in: [data-structures/stack/stack.ts:415](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L415)
946
+ Defined in: [data-structures/stack/stack.ts:470](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L470)
947
947
 
948
948
  Pop and return the top element.
949
949
 
@@ -989,7 +989,7 @@ Time O(1), Space O(1)
989
989
  print(): void;
990
990
  ```
991
991
 
992
- Defined in: [data-structures/base/iterable-element-base.ts:268](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L268)
992
+ Defined in: [data-structures/base/iterable-element-base.ts:269](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L269)
993
993
 
994
994
  Prints `toVisual()` to the console. Intended for quick debugging.
995
995
 
@@ -1015,7 +1015,7 @@ Time O(n) due to materialization, Space O(n) for the intermediate representation
1015
1015
  push(element): boolean;
1016
1016
  ```
1017
1017
 
1018
- Defined in: [data-structures/stack/stack.ts:358](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L358)
1018
+ Defined in: [data-structures/stack/stack.ts:402](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L402)
1019
1019
 
1020
1020
  Push one element onto the top.
1021
1021
 
@@ -1065,7 +1065,7 @@ Time O(1), Space O(1)
1065
1065
  pushMany(elements): boolean[];
1066
1066
  ```
1067
1067
 
1068
- Defined in: [data-structures/stack/stack.ts:426](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L426)
1068
+ Defined in: [data-structures/stack/stack.ts:481](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L481)
1069
1069
 
1070
1070
  Push many elements from an iterable.
1071
1071
 
@@ -1127,7 +1127,7 @@ Time O(n), Space O(1). Throws if called on an empty structure without `initialVa
1127
1127
  reduce(callbackfn): E;
1128
1128
  ```
1129
1129
 
1130
- Defined in: [data-structures/base/iterable-element-base.ts:193](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L193)
1130
+ Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L194)
1131
1131
 
1132
1132
  ##### Parameters
1133
1133
 
@@ -1149,7 +1149,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:193](https://github.c
1149
1149
  reduce(callbackfn, initialValue): E;
1150
1150
  ```
1151
1151
 
1152
- Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L194)
1152
+ Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L195)
1153
1153
 
1154
1154
  ##### Parameters
1155
1155
 
@@ -1175,7 +1175,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.c
1175
1175
  reduce<U>(callbackfn, initialValue): U;
1176
1176
  ```
1177
1177
 
1178
- Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L195)
1178
+ Defined in: [data-structures/base/iterable-element-base.ts:196](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L196)
1179
1179
 
1180
1180
  ##### Type Parameters
1181
1181
 
@@ -1209,7 +1209,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.c
1209
1209
  setEquality(equals): this;
1210
1210
  ```
1211
1211
 
1212
- Defined in: [data-structures/stack/stack.ts:722](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L722)
1212
+ Defined in: [data-structures/stack/stack.ts:832](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L832)
1213
1213
 
1214
1214
  Set the equality comparator used by delete/search operations.
1215
1215
 
@@ -1239,7 +1239,7 @@ Time O(1), Space O(1)
1239
1239
  some(predicate, thisArg?): boolean;
1240
1240
  ```
1241
1241
 
1242
- Defined in: [data-structures/base/iterable-element-base.ts:109](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L109)
1242
+ Defined in: [data-structures/base/iterable-element-base.ts:110](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L110)
1243
1243
 
1244
1244
  Tests whether at least one element satisfies the predicate.
1245
1245
 
@@ -1279,7 +1279,7 @@ Time O(n) in the worst case; may exit early on first success. Space O(1).
1279
1279
  toArray(): E[];
1280
1280
  ```
1281
1281
 
1282
- Defined in: [data-structures/base/iterable-element-base.ts:245](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L245)
1282
+ Defined in: [data-structures/base/iterable-element-base.ts:246](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L246)
1283
1283
 
1284
1284
  Materializes the elements into a new array.
1285
1285
 
@@ -1305,7 +1305,7 @@ Time O(n), Space O(n).
1305
1305
  toVisual(): E[];
1306
1306
  ```
1307
1307
 
1308
- Defined in: [data-structures/base/iterable-element-base.ts:257](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L257)
1308
+ Defined in: [data-structures/base/iterable-element-base.ts:258](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L258)
1309
1309
 
1310
1310
  Returns a representation of the structure suitable for quick visualization.
1311
1311
  Defaults to an array of elements; subclasses may override to provide richer visuals.
@@ -1332,7 +1332,7 @@ Time O(n), Space O(n).
1332
1332
  values(): IterableIterator<E>;
1333
1333
  ```
1334
1334
 
1335
- Defined in: [data-structures/base/iterable-element-base.ts:71](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L71)
1335
+ Defined in: [data-structures/base/iterable-element-base.ts:72](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L72)
1336
1336
 
1337
1337
  Returns an iterator over the values (alias of the default iterator).
1338
1338
 
@@ -1361,7 +1361,7 @@ static fromArray<E, R>(
1361
1361
  options?): any;
1362
1362
  ```
1363
1363
 
1364
- Defined in: [data-structures/stack/stack.ts:214](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L214)
1364
+ Defined in: [data-structures/stack/stack.ts:225](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L225)
1365
1365
 
1366
1366
  Create a stack from an array of elements.
1367
1367
 
@@ -1416,7 +1416,7 @@ Time O(N), Space O(N)
1416
1416
  protected optional _toElementFn?: (rawElement) => E;
1417
1417
  ```
1418
1418
 
1419
- Defined in: [data-structures/base/iterable-element-base.ts:38](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L38)
1419
+ Defined in: [data-structures/base/iterable-element-base.ts:39](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L39)
1420
1420
 
1421
1421
  The converter used to transform a raw element (`R`) into a public element (`E`).
1422
1422
 
@@ -1446,7 +1446,7 @@ Time O(1), Space O(1).
1446
1446
  protected _createInstance(options?): this;
1447
1447
  ```
1448
1448
 
1449
- Defined in: [data-structures/stack/stack.ts:746](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L746)
1449
+ Defined in: [data-structures/stack/stack.ts:856](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L856)
1450
1450
 
1451
1451
  (Protected) Create an empty instance of the same concrete class.
1452
1452
 
@@ -1476,7 +1476,7 @@ Time O(1), Space O(1)
1476
1476
  protected _createLike<T, RR>(elements?, options?): Stack<T, RR>;
1477
1477
  ```
1478
1478
 
1479
- Defined in: [data-structures/stack/stack.ts:761](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L761)
1479
+ Defined in: [data-structures/stack/stack.ts:871](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L871)
1480
1480
 
1481
1481
  (Protected) Create a like-kind stack and seed it from an iterable.
1482
1482
 
@@ -1522,7 +1522,7 @@ Time O(N), Space O(N)
1522
1522
  protected _getIterator(): IterableIterator<E>;
1523
1523
  ```
1524
1524
 
1525
- Defined in: [data-structures/stack/stack.ts:778](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L778)
1525
+ Defined in: [data-structures/stack/stack.ts:888](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L888)
1526
1526
 
1527
1527
  (Protected) Iterate elements from bottom to top.
1528
1528
 
@@ -1548,7 +1548,7 @@ Time O(N), Space O(1)
1548
1548
  protected _indexOfByEquals(target): number;
1549
1549
  ```
1550
1550
 
1551
- Defined in: [data-structures/stack/stack.ts:734](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/stack/stack.ts#L734)
1551
+ Defined in: [data-structures/stack/stack.ts:844](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/stack/stack.ts#L844)
1552
1552
 
1553
1553
  (Protected) Find the index of a target element using the equality function.
1554
1554