data-structure-typed 2.5.0 → 2.5.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.
Files changed (246) hide show
  1. package/.vitepress/cache/deps_temp_51f5f1b0/chunk-7OIKW5WK.js +12984 -0
  2. package/.vitepress/cache/deps_temp_51f5f1b0/package.json +3 -0
  3. package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vue_devtools-api.js +4505 -0
  4. package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vueuse_core.js +9731 -0
  5. package/.vitepress/cache/deps_temp_51f5f1b0/vue.js +347 -0
  6. package/CHANGELOG.md +5 -1
  7. package/README.md +124 -29
  8. package/dist/cjs/binary-tree.cjs +26282 -0
  9. package/dist/cjs/graph.cjs +5422 -0
  10. package/dist/cjs/hash.cjs +1310 -0
  11. package/dist/cjs/heap.cjs +1602 -0
  12. package/dist/cjs/index.cjs +31257 -14673
  13. package/dist/cjs/linked-list.cjs +4576 -0
  14. package/dist/cjs/matrix.cjs +1080 -0
  15. package/dist/cjs/priority-queue.cjs +1376 -0
  16. package/dist/cjs/queue.cjs +4264 -0
  17. package/dist/cjs/stack.cjs +907 -0
  18. package/dist/cjs/trie.cjs +1223 -0
  19. package/dist/cjs-legacy/binary-tree.cjs +26319 -0
  20. package/dist/cjs-legacy/graph.cjs +5420 -0
  21. package/dist/cjs-legacy/hash.cjs +1310 -0
  22. package/dist/cjs-legacy/heap.cjs +1599 -0
  23. package/dist/cjs-legacy/index.cjs +31268 -14679
  24. package/dist/cjs-legacy/linked-list.cjs +4582 -0
  25. package/dist/cjs-legacy/matrix.cjs +1083 -0
  26. package/dist/cjs-legacy/priority-queue.cjs +1374 -0
  27. package/dist/cjs-legacy/queue.cjs +4262 -0
  28. package/dist/cjs-legacy/stack.cjs +907 -0
  29. package/dist/cjs-legacy/trie.cjs +1222 -0
  30. package/dist/esm/binary-tree.mjs +26267 -0
  31. package/dist/esm/graph.mjs +5409 -0
  32. package/dist/esm/hash.mjs +1307 -0
  33. package/dist/esm/heap.mjs +1596 -0
  34. package/dist/esm/index.mjs +31254 -14674
  35. package/dist/esm/linked-list.mjs +4569 -0
  36. package/dist/esm/matrix.mjs +1076 -0
  37. package/dist/esm/priority-queue.mjs +1372 -0
  38. package/dist/esm/queue.mjs +4260 -0
  39. package/dist/esm/stack.mjs +905 -0
  40. package/dist/esm/trie.mjs +1220 -0
  41. package/dist/esm-legacy/binary-tree.mjs +26304 -0
  42. package/dist/esm-legacy/graph.mjs +5407 -0
  43. package/dist/esm-legacy/hash.mjs +1307 -0
  44. package/dist/esm-legacy/heap.mjs +1593 -0
  45. package/dist/esm-legacy/index.mjs +31265 -14680
  46. package/dist/esm-legacy/linked-list.mjs +4575 -0
  47. package/dist/esm-legacy/matrix.mjs +1079 -0
  48. package/dist/esm-legacy/priority-queue.mjs +1370 -0
  49. package/dist/esm-legacy/queue.mjs +4258 -0
  50. package/dist/esm-legacy/stack.mjs +905 -0
  51. package/dist/esm-legacy/trie.mjs +1219 -0
  52. package/dist/types/common/error.d.ts +9 -0
  53. package/dist/types/common/index.d.ts +1 -1
  54. package/dist/types/data-structures/base/index.d.ts +1 -0
  55. package/dist/types/data-structures/base/iterable-entry-base.d.ts +8 -8
  56. package/dist/types/data-structures/base/linear-base.d.ts +3 -3
  57. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +288 -0
  58. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +336 -0
  59. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +618 -18
  60. package/dist/types/data-structures/binary-tree/bst.d.ts +676 -1
  61. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +456 -0
  62. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +144 -1
  63. package/dist/types/data-structures/binary-tree/tree-map.d.ts +3307 -399
  64. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +3285 -360
  65. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +2674 -325
  66. package/dist/types/data-structures/binary-tree/tree-set.d.ts +3072 -287
  67. package/dist/types/data-structures/graph/abstract-graph.d.ts +4 -4
  68. package/dist/types/data-structures/graph/directed-graph.d.ts +240 -0
  69. package/dist/types/data-structures/graph/undirected-graph.d.ts +216 -0
  70. package/dist/types/data-structures/hash/hash-map.d.ts +274 -10
  71. package/dist/types/data-structures/heap/heap.d.ts +336 -0
  72. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +411 -3
  73. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +363 -3
  74. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +434 -2
  75. package/dist/types/data-structures/matrix/matrix.d.ts +192 -0
  76. package/dist/types/data-structures/queue/deque.d.ts +364 -4
  77. package/dist/types/data-structures/queue/queue.d.ts +288 -0
  78. package/dist/types/data-structures/stack/stack.d.ts +240 -0
  79. package/dist/types/data-structures/trie/trie.d.ts +292 -4
  80. package/dist/types/interfaces/graph.d.ts +1 -1
  81. package/dist/types/types/common.d.ts +2 -2
  82. package/dist/types/types/data-structures/binary-tree/bst.d.ts +1 -0
  83. package/dist/types/types/data-structures/binary-tree/tree-map.d.ts +5 -0
  84. package/dist/types/types/data-structures/binary-tree/tree-multi-set.d.ts +4 -0
  85. package/dist/types/types/data-structures/binary-tree/tree-set.d.ts +4 -0
  86. package/dist/types/types/data-structures/heap/heap.d.ts +1 -0
  87. package/dist/types/types/data-structures/priority-queue/priority-queue.d.ts +1 -0
  88. package/dist/types/types/utils/validate-type.d.ts +4 -4
  89. package/dist/umd/data-structure-typed.js +31196 -14608
  90. package/dist/umd/data-structure-typed.min.js +11 -5
  91. package/docs-site-docusaurus/README.md +41 -0
  92. package/docs-site-docusaurus/docs/api/README.md +52 -0
  93. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +6644 -0
  94. package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +282 -0
  95. package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +2266 -0
  96. package/docs-site-docusaurus/docs/api/classes/BST.md +6293 -0
  97. package/docs-site-docusaurus/docs/api/classes/BSTNode.md +333 -0
  98. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +455 -0
  99. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +4647 -0
  100. package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +331 -0
  101. package/docs-site-docusaurus/docs/api/classes/Deque.md +2767 -0
  102. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +2999 -0
  103. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +2685 -0
  104. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +221 -0
  105. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +253 -0
  106. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +21 -0
  107. package/docs-site-docusaurus/docs/api/classes/HashMap.md +1333 -0
  108. package/docs-site-docusaurus/docs/api/classes/Heap.md +1881 -0
  109. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +800 -0
  110. package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +644 -0
  111. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +1632 -0
  112. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +1853 -0
  113. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +1108 -0
  114. package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +156 -0
  115. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +2824 -0
  116. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +2929 -0
  117. package/docs-site-docusaurus/docs/api/classes/Matrix.md +1026 -0
  118. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +1866 -0
  119. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +1883 -0
  120. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +1879 -0
  121. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +1882 -0
  122. package/docs-site-docusaurus/docs/api/classes/Navigator.md +109 -0
  123. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +1839 -0
  124. package/docs-site-docusaurus/docs/api/classes/Queue.md +2244 -0
  125. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +6888 -0
  126. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +372 -0
  127. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +2897 -0
  128. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +169 -0
  129. package/docs-site-docusaurus/docs/api/classes/SkipList.md +1229 -0
  130. package/docs-site-docusaurus/docs/api/classes/Stack.md +1573 -0
  131. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +1389 -0
  132. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +1591 -0
  133. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +1246 -0
  134. package/docs-site-docusaurus/docs/api/classes/Trie.md +1708 -0
  135. package/docs-site-docusaurus/docs/api/classes/TrieNode.md +199 -0
  136. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +2979 -0
  137. package/docs-site-docusaurus/docs/guide/_category_.json +6 -0
  138. package/docs-site-docusaurus/docs/guide/architecture.md +615 -0
  139. package/docs-site-docusaurus/docs/guide/concepts.md +451 -0
  140. package/docs-site-docusaurus/docs/guide/faq.md +180 -0
  141. package/docs-site-docusaurus/docs/guide/guides.md +597 -0
  142. package/docs-site-docusaurus/docs/guide/installation.md +62 -0
  143. package/docs-site-docusaurus/docs/guide/integrations.md +825 -0
  144. package/docs-site-docusaurus/docs/guide/overview.md +645 -0
  145. package/docs-site-docusaurus/docs/guide/performance.md +835 -0
  146. package/docs-site-docusaurus/docs/guide/quick-start.md +104 -0
  147. package/docs-site-docusaurus/docs/guide/use-cases/_category_.json +6 -0
  148. package/docs-site-docusaurus/docs/guide/use-cases/array-sort-alternative.md +158 -0
  149. package/docs-site-docusaurus/docs/guide/use-cases/heap-vs-sorting.md +92 -0
  150. package/docs-site-docusaurus/docs/guide/use-cases/map-vs-treemap.md +151 -0
  151. package/docs-site-docusaurus/docs/guide/use-cases/priority-queue-typescript.md +113 -0
  152. package/docs-site-docusaurus/docs/guide/use-cases/treemap-javascript.md +151 -0
  153. package/docs-site-docusaurus/docusaurus.config.ts +159 -0
  154. package/docs-site-docusaurus/fix-mdx-generics.mjs +75 -0
  155. package/docs-site-docusaurus/package-lock.json +18667 -0
  156. package/docs-site-docusaurus/package.json +50 -0
  157. package/docs-site-docusaurus/prefix-class-to-methods.mjs +48 -0
  158. package/docs-site-docusaurus/sidebars.ts +23 -0
  159. package/docs-site-docusaurus/sort-protected.mjs +87 -0
  160. package/docs-site-docusaurus/src/css/custom.css +96 -0
  161. package/docs-site-docusaurus/src/pages/index.module.css +13 -0
  162. package/docs-site-docusaurus/src/pages/index.tsx +120 -0
  163. package/docs-site-docusaurus/src/pages/markdown-page.md +7 -0
  164. package/docs-site-docusaurus/src/theme/TOCItems/index.tsx +34 -0
  165. package/docs-site-docusaurus/static/.nojekyll +0 -0
  166. package/docs-site-docusaurus/static/img/docusaurus-social-card.jpg +0 -0
  167. package/docs-site-docusaurus/static/img/docusaurus.png +0 -0
  168. package/docs-site-docusaurus/static/img/favicon.ico +0 -0
  169. package/docs-site-docusaurus/static/img/favicon.png +0 -0
  170. package/docs-site-docusaurus/static/img/logo-180.png +0 -0
  171. package/docs-site-docusaurus/static/img/logo.jpg +0 -0
  172. package/docs-site-docusaurus/static/img/logo.png +0 -0
  173. package/docs-site-docusaurus/static/img/logo.svg +1 -0
  174. package/docs-site-docusaurus/static/img/og-image.png +0 -0
  175. package/docs-site-docusaurus/static/img/undraw_docusaurus_mountain.svg +171 -0
  176. package/docs-site-docusaurus/static/img/undraw_docusaurus_react.svg +170 -0
  177. package/docs-site-docusaurus/static/img/undraw_docusaurus_tree.svg +40 -0
  178. package/docs-site-docusaurus/static/llms.txt +37 -0
  179. package/docs-site-docusaurus/static/robots.txt +4 -0
  180. package/docs-site-docusaurus/typedoc.json +23 -0
  181. package/llms.txt +37 -0
  182. package/package.json +159 -55
  183. package/src/common/error.ts +19 -1
  184. package/src/common/index.ts +1 -1
  185. package/src/data-structures/base/index.ts +1 -0
  186. package/src/data-structures/base/iterable-element-base.ts +3 -2
  187. package/src/data-structures/base/iterable-entry-base.ts +8 -8
  188. package/src/data-structures/base/linear-base.ts +3 -3
  189. package/src/data-structures/binary-tree/avl-tree.ts +287 -0
  190. package/src/data-structures/binary-tree/binary-indexed-tree.ts +327 -5
  191. package/src/data-structures/binary-tree/binary-tree.ts +581 -6
  192. package/src/data-structures/binary-tree/bst.ts +922 -7
  193. package/src/data-structures/binary-tree/red-black-tree.ts +453 -0
  194. package/src/data-structures/binary-tree/segment-tree.ts +139 -2
  195. package/src/data-structures/binary-tree/tree-map.ts +3300 -495
  196. package/src/data-structures/binary-tree/tree-multi-map.ts +3384 -563
  197. package/src/data-structures/binary-tree/tree-multi-set.ts +2757 -493
  198. package/src/data-structures/binary-tree/tree-set.ts +3122 -440
  199. package/src/data-structures/graph/abstract-graph.ts +6 -6
  200. package/src/data-structures/graph/directed-graph.ts +230 -0
  201. package/src/data-structures/graph/undirected-graph.ts +207 -0
  202. package/src/data-structures/hash/hash-map.ts +270 -19
  203. package/src/data-structures/heap/heap.ts +326 -4
  204. package/src/data-structures/heap/max-heap.ts +2 -2
  205. package/src/data-structures/linked-list/doubly-linked-list.ts +394 -3
  206. package/src/data-structures/linked-list/singly-linked-list.ts +348 -3
  207. package/src/data-structures/linked-list/skip-linked-list.ts +421 -7
  208. package/src/data-structures/matrix/matrix.ts +194 -10
  209. package/src/data-structures/priority-queue/max-priority-queue.ts +2 -2
  210. package/src/data-structures/queue/deque.ts +350 -5
  211. package/src/data-structures/queue/queue.ts +276 -0
  212. package/src/data-structures/stack/stack.ts +230 -0
  213. package/src/data-structures/trie/trie.ts +283 -7
  214. package/src/interfaces/graph.ts +1 -1
  215. package/src/types/common.ts +2 -2
  216. package/src/types/data-structures/binary-tree/bst.ts +1 -0
  217. package/src/types/data-structures/binary-tree/tree-map.ts +6 -0
  218. package/src/types/data-structures/binary-tree/tree-multi-set.ts +5 -0
  219. package/src/types/data-structures/binary-tree/tree-set.ts +5 -0
  220. package/src/types/data-structures/heap/heap.ts +1 -0
  221. package/src/types/data-structures/priority-queue/priority-queue.ts +1 -0
  222. package/src/types/utils/validate-type.ts +4 -4
  223. package/vercel.json +6 -0
  224. package/dist/leetcode/avl-tree-counter.mjs +0 -2957
  225. package/dist/leetcode/avl-tree-multi-map.mjs +0 -2889
  226. package/dist/leetcode/avl-tree.mjs +0 -2720
  227. package/dist/leetcode/binary-tree.mjs +0 -1594
  228. package/dist/leetcode/bst.mjs +0 -2398
  229. package/dist/leetcode/deque.mjs +0 -683
  230. package/dist/leetcode/directed-graph.mjs +0 -1733
  231. package/dist/leetcode/doubly-linked-list.mjs +0 -709
  232. package/dist/leetcode/hash-map.mjs +0 -493
  233. package/dist/leetcode/heap.mjs +0 -542
  234. package/dist/leetcode/max-heap.mjs +0 -375
  235. package/dist/leetcode/max-priority-queue.mjs +0 -383
  236. package/dist/leetcode/min-heap.mjs +0 -363
  237. package/dist/leetcode/min-priority-queue.mjs +0 -371
  238. package/dist/leetcode/priority-queue.mjs +0 -363
  239. package/dist/leetcode/queue.mjs +0 -943
  240. package/dist/leetcode/red-black-tree.mjs +0 -2765
  241. package/dist/leetcode/singly-linked-list.mjs +0 -754
  242. package/dist/leetcode/stack.mjs +0 -217
  243. package/dist/leetcode/tree-counter.mjs +0 -3039
  244. package/dist/leetcode/tree-multi-map.mjs +0 -2913
  245. package/dist/leetcode/trie.mjs +0 -413
  246. package/dist/leetcode/undirected-graph.mjs +0 -1650
@@ -0,0 +1,221 @@
1
+ [**data-structure-typed**](../README.md)
2
+
3
+ ***
4
+
5
+ [data-structure-typed](../README.md) / DoublyLinkedListNode
6
+
7
+ # Class: DoublyLinkedListNode\<E\>
8
+
9
+ Defined in: [data-structures/linked-list/doubly-linked-list.ts:17](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/linked-list/doubly-linked-list.ts#L17)
10
+
11
+ Node of a doubly linked list; stores value and prev/next links.
12
+
13
+ ## Remarks
14
+
15
+ Time O(1), Space O(1)
16
+
17
+ ## Extends
18
+
19
+ - [`LinkedListNode`](LinkedListNode.md)\<`E`\>
20
+
21
+ ## Type Parameters
22
+
23
+ ### E
24
+
25
+ `E` = `any`
26
+
27
+ ## Constructors
28
+
29
+ ### Constructor
30
+
31
+ ```ts
32
+ new DoublyLinkedListNode<E>(value): DoublyLinkedListNode<E>;
33
+ ```
34
+
35
+ Defined in: [data-structures/linked-list/doubly-linked-list.ts:25](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/linked-list/doubly-linked-list.ts#L25)
36
+
37
+ Create a node.
38
+
39
+ #### Parameters
40
+
41
+ ##### value
42
+
43
+ `E`
44
+
45
+ Element value to store.
46
+
47
+ #### Returns
48
+
49
+ `DoublyLinkedListNode`\<`E`\>
50
+
51
+ New node instance.
52
+
53
+ #### Remarks
54
+
55
+ Time O(1), Space O(1)
56
+
57
+ #### Overrides
58
+
59
+ [`LinkedListNode`](LinkedListNode.md).[`constructor`](LinkedListNode.md#constructor)
60
+
61
+ ## Accessors
62
+
63
+ ### next
64
+
65
+ #### Get Signature
66
+
67
+ ```ts
68
+ get next(): DoublyLinkedListNode<E> | undefined;
69
+ ```
70
+
71
+ Defined in: [data-structures/linked-list/doubly-linked-list.ts:40](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/linked-list/doubly-linked-list.ts#L40)
72
+
73
+ Get the next node link.
74
+
75
+ ##### Remarks
76
+
77
+ Time O(1), Space O(1)
78
+
79
+ ##### Returns
80
+
81
+ `DoublyLinkedListNode`\<`E`\> \| `undefined`
82
+
83
+ Next node or undefined.
84
+
85
+ #### Set Signature
86
+
87
+ ```ts
88
+ set next(value): void;
89
+ ```
90
+
91
+ Defined in: [data-structures/linked-list/doubly-linked-list.ts:51](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/linked-list/doubly-linked-list.ts#L51)
92
+
93
+ Set the next node link.
94
+
95
+ ##### Remarks
96
+
97
+ Time O(1), Space O(1)
98
+
99
+ ##### Parameters
100
+
101
+ ###### value
102
+
103
+ `DoublyLinkedListNode`\<`E`\> \| `undefined`
104
+
105
+ Next node or undefined.
106
+
107
+ ##### Returns
108
+
109
+ `void`
110
+
111
+ void
112
+
113
+ #### Overrides
114
+
115
+ [`LinkedListNode`](LinkedListNode.md).[`next`](LinkedListNode.md#next)
116
+
117
+ ***
118
+
119
+ ### prev
120
+
121
+ #### Get Signature
122
+
123
+ ```ts
124
+ get prev(): DoublyLinkedListNode<E> | undefined;
125
+ ```
126
+
127
+ Defined in: [data-structures/linked-list/doubly-linked-list.ts:63](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/linked-list/doubly-linked-list.ts#L63)
128
+
129
+ Get the previous node link.
130
+
131
+ ##### Remarks
132
+
133
+ Time O(1), Space O(1)
134
+
135
+ ##### Returns
136
+
137
+ `DoublyLinkedListNode`\<`E`\> \| `undefined`
138
+
139
+ Previous node or undefined.
140
+
141
+ #### Set Signature
142
+
143
+ ```ts
144
+ set prev(value): void;
145
+ ```
146
+
147
+ Defined in: [data-structures/linked-list/doubly-linked-list.ts:74](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/linked-list/doubly-linked-list.ts#L74)
148
+
149
+ Set the previous node link.
150
+
151
+ ##### Remarks
152
+
153
+ Time O(1), Space O(1)
154
+
155
+ ##### Parameters
156
+
157
+ ###### value
158
+
159
+ `DoublyLinkedListNode`\<`E`\> \| `undefined`
160
+
161
+ Previous node or undefined.
162
+
163
+ ##### Returns
164
+
165
+ `void`
166
+
167
+ void
168
+
169
+ ***
170
+
171
+ ### value
172
+
173
+ #### Get Signature
174
+
175
+ ```ts
176
+ get value(): E;
177
+ ```
178
+
179
+ Defined in: [data-structures/base/linear-base.ts:27](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/linear-base.ts#L27)
180
+
181
+ Element payload getter.
182
+
183
+ ##### Remarks
184
+
185
+ Time O(1), Space O(1)
186
+
187
+ ##### Returns
188
+
189
+ `E`
190
+
191
+ Element value.
192
+
193
+ #### Set Signature
194
+
195
+ ```ts
196
+ set value(value): void;
197
+ ```
198
+
199
+ Defined in: [data-structures/base/linear-base.ts:36](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/linear-base.ts#L36)
200
+
201
+ Element payload setter.
202
+
203
+ ##### Remarks
204
+
205
+ Time O(1), Space O(1)
206
+
207
+ ##### Parameters
208
+
209
+ ###### value
210
+
211
+ `E`
212
+
213
+ New value.
214
+
215
+ ##### Returns
216
+
217
+ `void`
218
+
219
+ #### Inherited from
220
+
221
+ [`LinkedListNode`](LinkedListNode.md).[`value`](LinkedListNode.md#value)
@@ -0,0 +1,253 @@
1
+ [**data-structure-typed**](../README.md)
2
+
3
+ ***
4
+
5
+ [data-structure-typed](../README.md) / FibonacciHeap
6
+
7
+ # Class: FibonacciHeap\<E\>
8
+
9
+ Defined in: [data-structures/heap/heap.ts:1300](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/heap/heap.ts#L1300)
10
+
11
+ Fibonacci heap (min-heap) optimized for fast merges and amortized operations.
12
+
13
+ ## Remarks
14
+
15
+ Time O(1), Space O(1)
16
+
17
+ ## Example
18
+
19
+ ```ts
20
+ examples will be generated by unit test
21
+ ```
22
+
23
+ ## Type Parameters
24
+
25
+ ### E
26
+
27
+ `E`
28
+
29
+ ## Constructors
30
+
31
+ ### Constructor
32
+
33
+ ```ts
34
+ new FibonacciHeap<E>(comparator?): FibonacciHeap<E>;
35
+ ```
36
+
37
+ Defined in: [data-structures/heap/heap.ts:1308](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/heap/heap.ts#L1308)
38
+
39
+ Create a FibonacciHeap.
40
+
41
+ #### Parameters
42
+
43
+ ##### comparator?
44
+
45
+ `Comparator`\<`E`\>
46
+
47
+ Comparator to order elements (min-heap by default).
48
+
49
+ #### Returns
50
+
51
+ `FibonacciHeap`\<`E`\>
52
+
53
+ New FibonacciHeap instance.
54
+
55
+ #### Remarks
56
+
57
+ Time O(1), Space O(1)
58
+
59
+ ## Accessors
60
+
61
+ ### min
62
+
63
+ #### Get Signature
64
+
65
+ ```ts
66
+ get min(): FibonacciHeapNode<E> | undefined;
67
+ ```
68
+
69
+ Defined in: [data-structures/heap/heap.ts:1339](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/heap/heap.ts#L1339)
70
+
71
+ Get the current minimum node.
72
+
73
+ ##### Remarks
74
+
75
+ Time O(1), Space O(1)
76
+
77
+ ##### Returns
78
+
79
+ [`FibonacciHeapNode`](FibonacciHeapNode.md)\<`E`\> \| `undefined`
80
+
81
+ Min node or undefined.
82
+
83
+ ***
84
+
85
+ ### root
86
+
87
+ #### Get Signature
88
+
89
+ ```ts
90
+ get root(): FibonacciHeapNode<E> | undefined;
91
+ ```
92
+
93
+ Defined in: [data-structures/heap/heap.ts:1322](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/heap/heap.ts#L1322)
94
+
95
+ Get the circular root list head.
96
+
97
+ ##### Remarks
98
+
99
+ Time O(1), Space O(1)
100
+
101
+ ##### Returns
102
+
103
+ [`FibonacciHeapNode`](FibonacciHeapNode.md)\<`E`\> \| `undefined`
104
+
105
+ Root node or undefined.
106
+
107
+ ## Methods
108
+
109
+ ### consumeLinkedList()
110
+
111
+ ```ts
112
+ consumeLinkedList(head?): FibonacciHeapNode<E>[];
113
+ ```
114
+
115
+ Defined in: [data-structures/heap/heap.ts:1388](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/heap/heap.ts#L1388)
116
+
117
+ Collect nodes from a circular doubly linked list starting at head.
118
+
119
+ #### Parameters
120
+
121
+ ##### head?
122
+
123
+ [`FibonacciHeapNode`](FibonacciHeapNode.md)\<`E`\>
124
+
125
+ Start node of the circular list.
126
+
127
+ #### Returns
128
+
129
+ [`FibonacciHeapNode`](FibonacciHeapNode.md)\<`E`\>[]
130
+
131
+ Array of nodes from the list.
132
+
133
+ #### Remarks
134
+
135
+ Time O(K), Space O(K)
136
+
137
+ ***
138
+
139
+ ### merge()
140
+
141
+ ```ts
142
+ merge(heapToMerge): void;
143
+ ```
144
+
145
+ Defined in: [data-structures/heap/heap.ts:1459](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/heap/heap.ts#L1459)
146
+
147
+ Meld another heap into this heap.
148
+
149
+ #### Parameters
150
+
151
+ ##### heapToMerge
152
+
153
+ `FibonacciHeap`\<`E`\>
154
+
155
+ Another FibonacciHeap to meld into this one.
156
+
157
+ #### Returns
158
+
159
+ `void`
160
+
161
+ void
162
+
163
+ #### Remarks
164
+
165
+ Time O(1), Space O(1)
166
+
167
+ ***
168
+
169
+ ### mergeWithChild()
170
+
171
+ ```ts
172
+ mergeWithChild(parent, node): void;
173
+ ```
174
+
175
+ Defined in: [data-structures/heap/heap.ts:1410](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/heap/heap.ts#L1410)
176
+
177
+ Insert a node into a parent's child list (circular).
178
+
179
+ #### Parameters
180
+
181
+ ##### parent
182
+
183
+ [`FibonacciHeapNode`](FibonacciHeapNode.md)\<`E`\>
184
+
185
+ Parent node.
186
+
187
+ ##### node
188
+
189
+ [`FibonacciHeapNode`](FibonacciHeapNode.md)\<`E`\>
190
+
191
+ Child node to insert.
192
+
193
+ #### Returns
194
+
195
+ `void`
196
+
197
+ void
198
+
199
+ #### Remarks
200
+
201
+ Time O(1), Space O(1)
202
+
203
+ ***
204
+
205
+ ### pop()
206
+
207
+ ```ts
208
+ pop(): E | undefined;
209
+ ```
210
+
211
+ Defined in: [data-structures/heap/heap.ts:1430](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/heap/heap.ts#L1430)
212
+
213
+ Remove and return the minimum element, consolidating the root list.
214
+
215
+ #### Returns
216
+
217
+ `E` \| `undefined`
218
+
219
+ Minimum element or undefined.
220
+
221
+ #### Remarks
222
+
223
+ Time O(log N) amortized, Space O(1)
224
+
225
+ ***
226
+
227
+ ### push()
228
+
229
+ ```ts
230
+ push(element): this;
231
+ ```
232
+
233
+ Defined in: [data-structures/heap/heap.ts:1367](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/heap/heap.ts#L1367)
234
+
235
+ Push an element into the root list.
236
+
237
+ #### Parameters
238
+
239
+ ##### element
240
+
241
+ `E`
242
+
243
+ Element to insert.
244
+
245
+ #### Returns
246
+
247
+ `this`
248
+
249
+ This heap.
250
+
251
+ #### Remarks
252
+
253
+ Time O(1) amortized, Space O(1)
@@ -0,0 +1,21 @@
1
+ [**data-structure-typed**](../README.md)
2
+
3
+ ***
4
+
5
+ [data-structure-typed](../README.md) / FibonacciHeapNode
6
+
7
+ # Class: FibonacciHeapNode\<E\>
8
+
9
+ Defined in: [data-structures/heap/heap.ts:1278](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/heap/heap.ts#L1278)
10
+
11
+ Node container used by FibonacciHeap.
12
+
13
+ ## Remarks
14
+
15
+ Time O(1), Space O(1)
16
+
17
+ ## Type Parameters
18
+
19
+ ### E
20
+
21
+ `E`