data-structure-typed 2.6.0 → 2.6.1

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 (80) hide show
  1. package/.github/workflows/ci.yml +7 -2
  2. package/.github/workflows/release-package.yml +9 -2
  3. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +108 -108
  4. package/docs-site-docusaurus/docs/api/classes/BST.md +101 -101
  5. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +13 -13
  6. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +66 -66
  7. package/docs-site-docusaurus/docs/api/classes/Deque.md +235 -51
  8. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +21 -21
  9. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +231 -67
  10. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +9 -9
  11. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
  12. package/docs-site-docusaurus/docs/api/classes/HashMap.md +14 -14
  13. package/docs-site-docusaurus/docs/api/classes/Heap.md +117 -34
  14. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +83 -13
  15. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +124 -20
  16. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +140 -32
  17. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +23 -23
  18. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +159 -51
  19. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +20 -20
  20. package/docs-site-docusaurus/docs/api/classes/Matrix.md +23 -23
  21. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +117 -34
  22. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +117 -34
  23. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +117 -34
  24. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +117 -34
  25. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +117 -34
  26. package/docs-site-docusaurus/docs/api/classes/Queue.md +142 -34
  27. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +117 -117
  28. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +8 -8
  29. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +158 -50
  30. package/docs-site-docusaurus/docs/api/classes/SkipList.md +21 -21
  31. package/docs-site-docusaurus/docs/api/classes/Stack.md +108 -26
  32. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +33 -33
  33. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +75 -39
  34. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +301 -39
  35. package/docs-site-docusaurus/docs/api/classes/Trie.md +110 -28
  36. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +20 -20
  37. package/package.json +45 -46
  38. package/src/common/error.ts +15 -32
  39. package/src/common/index.ts +0 -3
  40. package/src/data-structures/base/iterable-element-base.ts +0 -3
  41. package/src/data-structures/base/linear-base.ts +2 -36
  42. package/src/data-structures/binary-tree/avl-tree.ts +31 -529
  43. package/src/data-structures/binary-tree/binary-indexed-tree.ts +47 -572
  44. package/src/data-structures/binary-tree/binary-tree.ts +326 -1311
  45. package/src/data-structures/binary-tree/bst.ts +158 -1082
  46. package/src/data-structures/binary-tree/red-black-tree.ts +451 -1290
  47. package/src/data-structures/binary-tree/segment-tree.ts +73 -351
  48. package/src/data-structures/binary-tree/tree-map.ts +462 -5124
  49. package/src/data-structures/binary-tree/tree-multi-map.ts +302 -4914
  50. package/src/data-structures/binary-tree/tree-multi-set.ts +284 -3972
  51. package/src/data-structures/binary-tree/tree-set.ts +338 -4836
  52. package/src/data-structures/graph/abstract-graph.ts +98 -167
  53. package/src/data-structures/graph/directed-graph.ts +137 -562
  54. package/src/data-structures/graph/map-graph.ts +0 -3
  55. package/src/data-structures/graph/undirected-graph.ts +132 -511
  56. package/src/data-structures/hash/hash-map.ts +154 -582
  57. package/src/data-structures/heap/heap.ts +200 -795
  58. package/src/data-structures/linked-list/doubly-linked-list.ts +121 -865
  59. package/src/data-structures/linked-list/singly-linked-list.ts +122 -794
  60. package/src/data-structures/linked-list/skip-linked-list.ts +211 -918
  61. package/src/data-structures/matrix/matrix.ts +179 -518
  62. package/src/data-structures/matrix/navigator.ts +0 -1
  63. package/src/data-structures/priority-queue/max-priority-queue.ts +1 -6
  64. package/src/data-structures/priority-queue/min-priority-queue.ts +6 -11
  65. package/src/data-structures/priority-queue/priority-queue.ts +1 -2
  66. package/src/data-structures/queue/deque.ts +214 -882
  67. package/src/data-structures/queue/queue.ts +102 -625
  68. package/src/data-structures/stack/stack.ts +76 -505
  69. package/src/data-structures/trie/trie.ts +98 -628
  70. package/src/types/common.ts +0 -10
  71. package/src/types/data-structures/binary-tree/bst.ts +0 -7
  72. package/src/types/data-structures/binary-tree/red-black-tree.ts +0 -1
  73. package/src/types/data-structures/graph/abstract-graph.ts +0 -2
  74. package/src/types/data-structures/hash/hash-map.ts +0 -3
  75. package/src/types/data-structures/hash/index.ts +0 -1
  76. package/src/types/data-structures/matrix/navigator.ts +0 -2
  77. package/src/types/utils/utils.ts +0 -7
  78. package/src/types/utils/validate-type.ts +0 -7
  79. package/src/utils/number.ts +0 -2
  80. package/src/utils/utils.ts +0 -5
@@ -109,7 +109,7 @@ Iterable.[iterator]
109
109
  abstract clear(): void;
110
110
  ```
111
111
 
112
- Defined in: [data-structures/base/iterable-element-base.ts:289](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L289)
112
+ Defined in: [data-structures/base/iterable-element-base.ts:321](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L321)
113
113
 
114
114
  Removes all elements from the structure.
115
115
 
@@ -131,7 +131,7 @@ Expected Time O(1) or O(n) depending on the implementation; Space O(1).
131
131
  abstract clone(): this;
132
132
  ```
133
133
 
134
- Defined in: [data-structures/base/iterable-element-base.ts:298](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L298)
134
+ Defined in: [data-structures/base/iterable-element-base.ts:330](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L330)
135
135
 
136
136
  Creates a structural copy with the same element values and configuration.
137
137
 
@@ -147,6 +147,26 @@ Expected Time O(n) to copy elements; Space O(n).
147
147
 
148
148
  ***
149
149
 
150
+ ### entries()
151
+
152
+ ```ts
153
+ entries(): IterableIterator<[number, E]>;
154
+ ```
155
+
156
+ Defined in: [data-structures/base/iterable-element-base.ts:208](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L208)
157
+
158
+ Return an iterator of `[index, value]` pairs (Array-compatible).
159
+
160
+ #### Returns
161
+
162
+ `IterableIterator`\<\[`number`, `E`\]\>
163
+
164
+ #### Remarks
165
+
166
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
167
+
168
+ ***
169
+
150
170
  ### every()
151
171
 
152
172
  ```ts
@@ -189,7 +209,7 @@ Time O(n) in the worst case; may exit early when the first failure is found. Spa
189
209
  abstract filter(predicate, thisArg?): this;
190
210
  ```
191
211
 
192
- Defined in: [data-structures/base/iterable-element-base.ts:341](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L341)
212
+ Defined in: [data-structures/base/iterable-element-base.ts:373](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L373)
193
213
 
194
214
  Filters elements using the provided predicate and returns the same concrete structure type.
195
215
 
@@ -367,13 +387,43 @@ Time O(n) in the worst case. Space O(1).
367
387
 
368
388
  ***
369
389
 
390
+ ### includes()
391
+
392
+ ```ts
393
+ includes(element): boolean;
394
+ ```
395
+
396
+ Defined in: [data-structures/base/iterable-element-base.ts:200](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L200)
397
+
398
+ Check whether a value exists (Array-compatible alias for `has`).
399
+
400
+ #### Parameters
401
+
402
+ ##### element
403
+
404
+ `E`
405
+
406
+ Element to search for (uses `===`).
407
+
408
+ #### Returns
409
+
410
+ `boolean`
411
+
412
+ `true` if found.
413
+
414
+ #### Remarks
415
+
416
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1).
417
+
418
+ ***
419
+
370
420
  ### isEmpty()
371
421
 
372
422
  ```ts
373
423
  abstract isEmpty(): boolean;
374
424
  ```
375
425
 
376
- Defined in: [data-structures/base/iterable-element-base.ts:280](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L280)
426
+ Defined in: [data-structures/base/iterable-element-base.ts:312](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L312)
377
427
 
378
428
  Indicates whether the structure currently contains no elements.
379
429
 
@@ -389,6 +439,26 @@ Expected Time O(1), Space O(1) for most implementations.
389
439
 
390
440
  ***
391
441
 
442
+ ### keys()
443
+
444
+ ```ts
445
+ keys(): IterableIterator<number>;
446
+ ```
447
+
448
+ Defined in: [data-structures/base/iterable-element-base.ts:219](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L219)
449
+
450
+ Return an iterator of numeric indices (Array-compatible).
451
+
452
+ #### Returns
453
+
454
+ `IterableIterator`\<`number`\>
455
+
456
+ #### Remarks
457
+
458
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
459
+
460
+ ***
461
+
392
462
  ### map()
393
463
 
394
464
  ```ts
@@ -398,7 +468,7 @@ abstract map<EM, RM>(
398
468
  thisArg?): IterableElementBase<EM, RM>;
399
469
  ```
400
470
 
401
- Defined in: [data-structures/base/iterable-element-base.ts:313](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L313)
471
+ Defined in: [data-structures/base/iterable-element-base.ts:345](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L345)
402
472
 
403
473
  Maps each element to a new element and returns a new iterable structure.
404
474
 
@@ -454,7 +524,7 @@ Time O(n), Space O(n).
454
524
  abstract mapSame(callback, thisArg?): this;
455
525
  ```
456
526
 
457
- Defined in: [data-structures/base/iterable-element-base.ts:329](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L329)
527
+ Defined in: [data-structures/base/iterable-element-base.ts:361](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L361)
458
528
 
459
529
  Maps each element to the same element type and returns the same concrete structure type.
460
530
 
@@ -490,7 +560,7 @@ Time O(n), Space O(n).
490
560
  print(): void;
491
561
  ```
492
562
 
493
- 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)
563
+ Defined in: [data-structures/base/iterable-element-base.ts:301](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L301)
494
564
 
495
565
  Prints `toVisual()` to the console. Intended for quick debugging.
496
566
 
@@ -544,7 +614,7 @@ Time O(n), Space O(1). Throws if called on an empty structure without `initialVa
544
614
  reduce(callbackfn): E;
545
615
  ```
546
616
 
547
- 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)
617
+ Defined in: [data-structures/base/iterable-element-base.ts:226](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L226)
548
618
 
549
619
  ##### Parameters
550
620
 
@@ -562,7 +632,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.c
562
632
  reduce(callbackfn, initialValue): E;
563
633
  ```
564
634
 
565
- 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)
635
+ Defined in: [data-structures/base/iterable-element-base.ts:227](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L227)
566
636
 
567
637
  ##### Parameters
568
638
 
@@ -584,7 +654,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.c
584
654
  reduce<U>(callbackfn, initialValue): U;
585
655
  ```
586
656
 
587
- 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)
657
+ Defined in: [data-structures/base/iterable-element-base.ts:228](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L228)
588
658
 
589
659
  ##### Type Parameters
590
660
 
@@ -650,7 +720,7 @@ Time O(n) in the worst case; may exit early on first success. Space O(1).
650
720
  toArray(): E[];
651
721
  ```
652
722
 
653
- 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)
723
+ Defined in: [data-structures/base/iterable-element-base.ts:278](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L278)
654
724
 
655
725
  Materializes the elements into a new array.
656
726
 
@@ -672,7 +742,7 @@ Time O(n), Space O(n).
672
742
  toVisual(): E[];
673
743
  ```
674
744
 
675
- 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)
745
+ Defined in: [data-structures/base/iterable-element-base.ts:290](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L290)
676
746
 
677
747
  Returns a representation of the structure suitable for quick visualization.
678
748
  Defaults to an array of elements; subclasses may override to provide richer visuals.
@@ -775,7 +845,7 @@ Time O(1), Space O(1).
775
845
  abstract protected _getIterator(...args): IterableIterator<E>;
776
846
  ```
777
847
 
778
- Defined in: [data-structures/base/iterable-element-base.ts:352](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L352)
848
+ Defined in: [data-structures/base/iterable-element-base.ts:384](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L384)
779
849
 
780
850
  Internal iterator factory used by the default iterator.
781
851
 
@@ -194,7 +194,7 @@ Producing the iterator is O(1); consuming the entire iterator is Time O(n) with
194
194
  abstract addAt(index, newElementOrNode): boolean;
195
195
  ```
196
196
 
197
- Defined in: [data-structures/base/linear-base.ts:377](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L377)
197
+ Defined in: [data-structures/base/linear-base.ts:388](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L388)
198
198
 
199
199
  Insert an element/node at a position.
200
200
 
@@ -230,7 +230,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
230
230
  abstract at(index): E | undefined;
231
231
  ```
232
232
 
233
- Defined in: [data-structures/base/linear-base.ts:360](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L360)
233
+ Defined in: [data-structures/base/linear-base.ts:371](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L371)
234
234
 
235
235
  Get element at an index.
236
236
 
@@ -260,7 +260,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
260
260
  abstract clear(): void;
261
261
  ```
262
262
 
263
- Defined in: [data-structures/base/iterable-element-base.ts:289](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L289)
263
+ Defined in: [data-structures/base/iterable-element-base.ts:321](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L321)
264
264
 
265
265
  Removes all elements from the structure.
266
266
 
@@ -342,7 +342,7 @@ Time O(sum(length)), Space O(sum(length))
342
342
  abstract delete(elementOrNode): boolean;
343
343
  ```
344
344
 
345
- Defined in: [data-structures/base/linear-base.ts:352](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L352)
345
+ Defined in: [data-structures/base/linear-base.ts:363](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L363)
346
346
 
347
347
  Remove one element or node if present.
348
348
 
@@ -372,7 +372,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
372
372
  abstract deleteAt(pos): E | undefined;
373
373
  ```
374
374
 
375
- Defined in: [data-structures/base/linear-base.ts:368](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L368)
375
+ Defined in: [data-structures/base/linear-base.ts:379](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L379)
376
376
 
377
377
  Remove element at a position.
378
378
 
@@ -396,6 +396,30 @@ Time O(1)~O(n) depending on implementation, Space O(1)
396
396
 
397
397
  ***
398
398
 
399
+ ### entries()
400
+
401
+ ```ts
402
+ entries(): IterableIterator<[number, E]>;
403
+ ```
404
+
405
+ Defined in: [data-structures/base/iterable-element-base.ts:208](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L208)
406
+
407
+ Return an iterator of `[index, value]` pairs (Array-compatible).
408
+
409
+ #### Returns
410
+
411
+ `IterableIterator`\<\[`number`, `E`\]\>
412
+
413
+ #### Remarks
414
+
415
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
416
+
417
+ #### Inherited from
418
+
419
+ [`IterableElementBase`](IterableElementBase.md).[`entries`](IterableElementBase.md#entries)
420
+
421
+ ***
422
+
399
423
  ### every()
400
424
 
401
425
  ```ts
@@ -487,7 +511,7 @@ Time O(n), Space O(1)
487
511
  abstract filter(predicate, thisArg?): this;
488
512
  ```
489
513
 
490
- Defined in: [data-structures/base/iterable-element-base.ts:341](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L341)
514
+ Defined in: [data-structures/base/iterable-element-base.ts:373](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L373)
491
515
 
492
516
  Filters elements using the provided predicate and returns the same concrete structure type.
493
517
 
@@ -721,6 +745,40 @@ Time O(n) in the worst case. Space O(1).
721
745
 
722
746
  ***
723
747
 
748
+ ### includes()
749
+
750
+ ```ts
751
+ includes(element): boolean;
752
+ ```
753
+
754
+ Defined in: [data-structures/base/iterable-element-base.ts:200](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L200)
755
+
756
+ Check whether a value exists (Array-compatible alias for `has`).
757
+
758
+ #### Parameters
759
+
760
+ ##### element
761
+
762
+ `E`
763
+
764
+ Element to search for (uses `===`).
765
+
766
+ #### Returns
767
+
768
+ `boolean`
769
+
770
+ `true` if found.
771
+
772
+ #### Remarks
773
+
774
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1).
775
+
776
+ #### Inherited from
777
+
778
+ [`IterableElementBase`](IterableElementBase.md).[`includes`](IterableElementBase.md#includes)
779
+
780
+ ***
781
+
724
782
  ### indexOf()
725
783
 
726
784
  ```ts
@@ -763,7 +821,7 @@ Time O(n), Space O(1)
763
821
  abstract isEmpty(): boolean;
764
822
  ```
765
823
 
766
- Defined in: [data-structures/base/iterable-element-base.ts:280](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L280)
824
+ Defined in: [data-structures/base/iterable-element-base.ts:312](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L312)
767
825
 
768
826
  Indicates whether the structure currently contains no elements.
769
827
 
@@ -813,6 +871,30 @@ Time O(n), Space O(n)
813
871
 
814
872
  ***
815
873
 
874
+ ### keys()
875
+
876
+ ```ts
877
+ keys(): IterableIterator<number>;
878
+ ```
879
+
880
+ Defined in: [data-structures/base/iterable-element-base.ts:219](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L219)
881
+
882
+ Return an iterator of numeric indices (Array-compatible).
883
+
884
+ #### Returns
885
+
886
+ `IterableIterator`\<`number`\>
887
+
888
+ #### Remarks
889
+
890
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
891
+
892
+ #### Inherited from
893
+
894
+ [`IterableElementBase`](IterableElementBase.md).[`keys`](IterableElementBase.md#keys)
895
+
896
+ ***
897
+
816
898
  ### lastIndexOf()
817
899
 
818
900
  ```ts
@@ -858,7 +940,7 @@ abstract map<EM, RM>(
858
940
  thisArg?): IterableElementBase<EM, RM>;
859
941
  ```
860
942
 
861
- Defined in: [data-structures/base/iterable-element-base.ts:313](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L313)
943
+ Defined in: [data-structures/base/iterable-element-base.ts:345](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L345)
862
944
 
863
945
  Maps each element to a new element and returns a new iterable structure.
864
946
 
@@ -918,7 +1000,7 @@ Time O(n), Space O(n).
918
1000
  abstract mapSame(callback, thisArg?): this;
919
1001
  ```
920
1002
 
921
- Defined in: [data-structures/base/iterable-element-base.ts:329](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L329)
1003
+ Defined in: [data-structures/base/iterable-element-base.ts:361](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L361)
922
1004
 
923
1005
  Maps each element to the same element type and returns the same concrete structure type.
924
1006
 
@@ -958,7 +1040,7 @@ Time O(n), Space O(n).
958
1040
  print(): void;
959
1041
  ```
960
1042
 
961
- 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)
1043
+ Defined in: [data-structures/base/iterable-element-base.ts:301](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L301)
962
1044
 
963
1045
  Prints `toVisual()` to the console. Intended for quick debugging.
964
1046
 
@@ -984,7 +1066,7 @@ Time O(n) due to materialization, Space O(n) for the intermediate representation
984
1066
  abstract push(elementOrNode): boolean;
985
1067
  ```
986
1068
 
987
- Defined in: [data-structures/base/linear-base.ts:336](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L336)
1069
+ Defined in: [data-structures/base/linear-base.ts:347](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L347)
988
1070
 
989
1071
  Append one element or node to the tail.
990
1072
 
@@ -1014,7 +1096,7 @@ Time O(1) amortized typical, Space O(1)
1014
1096
  abstract pushMany(elements): boolean[];
1015
1097
  ```
1016
1098
 
1017
- Defined in: [data-structures/base/linear-base.ts:344](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L344)
1099
+ Defined in: [data-structures/base/linear-base.ts:355](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L355)
1018
1100
 
1019
1101
  Append many elements/nodes at once.
1020
1102
 
@@ -1078,7 +1160,7 @@ Time O(n), Space O(1). Throws if called on an empty structure without `initialVa
1078
1160
  reduce(callbackfn): E;
1079
1161
  ```
1080
1162
 
1081
- 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)
1163
+ Defined in: [data-structures/base/iterable-element-base.ts:226](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L226)
1082
1164
 
1083
1165
  ##### Parameters
1084
1166
 
@@ -1100,7 +1182,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.c
1100
1182
  reduce(callbackfn, initialValue): E;
1101
1183
  ```
1102
1184
 
1103
- 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)
1185
+ Defined in: [data-structures/base/iterable-element-base.ts:227](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L227)
1104
1186
 
1105
1187
  ##### Parameters
1106
1188
 
@@ -1126,7 +1208,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.c
1126
1208
  reduce<U>(callbackfn, initialValue): U;
1127
1209
  ```
1128
1210
 
1129
- 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)
1211
+ Defined in: [data-structures/base/iterable-element-base.ts:228](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L228)
1130
1212
 
1131
1213
  ##### Type Parameters
1132
1214
 
@@ -1411,7 +1493,7 @@ Time O(n + m), Space O(min(n, m)) where `m = items.length`
1411
1493
  toArray(): E[];
1412
1494
  ```
1413
1495
 
1414
- 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)
1496
+ Defined in: [data-structures/base/iterable-element-base.ts:278](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L278)
1415
1497
 
1416
1498
  Materializes the elements into a new array.
1417
1499
 
@@ -1431,6 +1513,28 @@ Time O(n), Space O(n).
1431
1513
 
1432
1514
  ***
1433
1515
 
1516
+ ### toReversed()
1517
+
1518
+ ```ts
1519
+ toReversed(): this;
1520
+ ```
1521
+
1522
+ Defined in: [data-structures/base/linear-base.ts:335](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L335)
1523
+
1524
+ Return a new instance of the same type with elements in reverse order (non-mutating).
1525
+
1526
+ #### Returns
1527
+
1528
+ `this`
1529
+
1530
+ A new reversed instance.
1531
+
1532
+ #### Remarks
1533
+
1534
+ Provided for familiarity when migrating from Array (ES2023 `toReversed`). Time O(n), Space O(n).
1535
+
1536
+ ***
1537
+
1434
1538
  ### toReversedArray()
1435
1539
 
1436
1540
  ```ts
@@ -1459,7 +1563,7 @@ Time O(n), Space O(n)
1459
1563
  toVisual(): E[];
1460
1564
  ```
1461
1565
 
1462
- 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)
1566
+ Defined in: [data-structures/base/iterable-element-base.ts:290](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L290)
1463
1567
 
1464
1568
  Returns a representation of the structure suitable for quick visualization.
1465
1569
  Defaults to an array of elements; subclasses may override to provide richer visuals.
@@ -1545,7 +1649,7 @@ Time O(1), Space O(1).
1545
1649
  abstract protected _createInstance(options?): this;
1546
1650
  ```
1547
1651
 
1548
- Defined in: [data-structures/base/linear-base.ts:385](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L385)
1652
+ Defined in: [data-structures/base/linear-base.ts:396](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L396)
1549
1653
 
1550
1654
  Create an empty list of the same species.
1551
1655
 
@@ -1575,7 +1679,7 @@ Time O(1), Space O(1)
1575
1679
  abstract protected _getIterator(...args): IterableIterator<E>;
1576
1680
  ```
1577
1681
 
1578
- Defined in: [data-structures/base/iterable-element-base.ts:352](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L352)
1682
+ Defined in: [data-structures/base/iterable-element-base.ts:384](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L384)
1579
1683
 
1580
1684
  Internal iterator factory used by the default iterator.
1581
1685
 
@@ -1609,7 +1713,7 @@ Implementations should yield in O(1) per element with O(1) extra space when poss
1609
1713
  abstract protected _getReverseIterator(...args): IterableIterator<E>;
1610
1714
  ```
1611
1715
 
1612
- Defined in: [data-structures/base/linear-base.ts:392](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L392)
1716
+ Defined in: [data-structures/base/linear-base.ts:403](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L403)
1613
1717
 
1614
1718
  Reverse-direction iterator over elements.
1615
1719