data-structure-typed 2.5.0 → 2.5.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 (222) 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 +3 -1
  7. package/README.md +63 -26
  8. package/dist/cjs/binary-tree.cjs +23698 -0
  9. package/dist/cjs/graph.cjs +5236 -0
  10. package/dist/cjs/hash.cjs +1262 -0
  11. package/dist/cjs/heap.cjs +1540 -0
  12. package/dist/cjs/index.cjs +28244 -14795
  13. package/dist/cjs/linked-list.cjs +4370 -0
  14. package/dist/cjs/matrix.cjs +1042 -0
  15. package/dist/cjs/priority-queue.cjs +1314 -0
  16. package/dist/cjs/queue.cjs +4090 -0
  17. package/dist/cjs/stack.cjs +861 -0
  18. package/dist/cjs/trie.cjs +1173 -0
  19. package/dist/cjs-legacy/binary-tree.cjs +23730 -0
  20. package/dist/cjs-legacy/graph.cjs +5234 -0
  21. package/dist/cjs-legacy/hash.cjs +1262 -0
  22. package/dist/cjs-legacy/heap.cjs +1537 -0
  23. package/dist/cjs-legacy/index.cjs +28239 -14790
  24. package/dist/cjs-legacy/linked-list.cjs +4376 -0
  25. package/dist/cjs-legacy/matrix.cjs +1045 -0
  26. package/dist/cjs-legacy/priority-queue.cjs +1312 -0
  27. package/dist/cjs-legacy/queue.cjs +4088 -0
  28. package/dist/cjs-legacy/stack.cjs +861 -0
  29. package/dist/cjs-legacy/trie.cjs +1172 -0
  30. package/dist/esm/binary-tree.mjs +23683 -0
  31. package/dist/esm/graph.mjs +5223 -0
  32. package/dist/esm/hash.mjs +1259 -0
  33. package/dist/esm/heap.mjs +1534 -0
  34. package/dist/esm/index.mjs +28242 -14796
  35. package/dist/esm/linked-list.mjs +4363 -0
  36. package/dist/esm/matrix.mjs +1038 -0
  37. package/dist/esm/priority-queue.mjs +1310 -0
  38. package/dist/esm/queue.mjs +4086 -0
  39. package/dist/esm/stack.mjs +859 -0
  40. package/dist/esm/trie.mjs +1170 -0
  41. package/dist/esm-legacy/binary-tree.mjs +23715 -0
  42. package/dist/esm-legacy/graph.mjs +5221 -0
  43. package/dist/esm-legacy/hash.mjs +1259 -0
  44. package/dist/esm-legacy/heap.mjs +1531 -0
  45. package/dist/esm-legacy/index.mjs +28237 -14791
  46. package/dist/esm-legacy/linked-list.mjs +4369 -0
  47. package/dist/esm-legacy/matrix.mjs +1041 -0
  48. package/dist/esm-legacy/priority-queue.mjs +1308 -0
  49. package/dist/esm-legacy/queue.mjs +4084 -0
  50. package/dist/esm-legacy/stack.mjs +859 -0
  51. package/dist/esm-legacy/trie.mjs +1169 -0
  52. package/dist/types/data-structures/base/index.d.ts +1 -0
  53. package/dist/types/data-structures/base/iterable-entry-base.d.ts +8 -8
  54. package/dist/types/data-structures/base/linear-base.d.ts +3 -3
  55. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +240 -0
  56. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +280 -0
  57. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +502 -2
  58. package/dist/types/data-structures/binary-tree/bst.d.ts +481 -1
  59. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +380 -0
  60. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +120 -1
  61. package/dist/types/data-structures/binary-tree/tree-map.d.ts +2764 -384
  62. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +2753 -353
  63. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +2241 -321
  64. package/dist/types/data-structures/binary-tree/tree-set.d.ts +2554 -274
  65. package/dist/types/data-structures/graph/abstract-graph.d.ts +4 -4
  66. package/dist/types/data-structures/graph/directed-graph.d.ts +200 -0
  67. package/dist/types/data-structures/graph/undirected-graph.d.ts +180 -0
  68. package/dist/types/data-structures/hash/hash-map.d.ts +230 -10
  69. package/dist/types/data-structures/heap/heap.d.ts +280 -0
  70. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +343 -3
  71. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +303 -3
  72. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +362 -2
  73. package/dist/types/data-structures/matrix/matrix.d.ts +160 -0
  74. package/dist/types/data-structures/queue/deque.d.ts +304 -4
  75. package/dist/types/data-structures/queue/queue.d.ts +240 -0
  76. package/dist/types/data-structures/stack/stack.d.ts +200 -0
  77. package/dist/types/data-structures/trie/trie.d.ts +244 -4
  78. package/dist/types/interfaces/graph.d.ts +1 -1
  79. package/dist/types/types/common.d.ts +2 -2
  80. package/dist/types/types/data-structures/heap/heap.d.ts +1 -0
  81. package/dist/types/types/data-structures/priority-queue/priority-queue.d.ts +1 -0
  82. package/dist/types/types/utils/validate-type.d.ts +4 -4
  83. package/dist/umd/data-structure-typed.js +28022 -14573
  84. package/dist/umd/data-structure-typed.min.js +9 -3
  85. package/docs-site-docusaurus/README.md +41 -0
  86. package/docs-site-docusaurus/docs/api/README.md +52 -0
  87. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +6130 -0
  88. package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +282 -0
  89. package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +2266 -0
  90. package/docs-site-docusaurus/docs/api/classes/BST.md +5831 -0
  91. package/docs-site-docusaurus/docs/api/classes/BSTNode.md +333 -0
  92. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +455 -0
  93. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +4647 -0
  94. package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +331 -0
  95. package/docs-site-docusaurus/docs/api/classes/Deque.md +2767 -0
  96. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +2999 -0
  97. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +2685 -0
  98. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +221 -0
  99. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +253 -0
  100. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +21 -0
  101. package/docs-site-docusaurus/docs/api/classes/HashMap.md +1333 -0
  102. package/docs-site-docusaurus/docs/api/classes/Heap.md +1881 -0
  103. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +800 -0
  104. package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +644 -0
  105. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +1632 -0
  106. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +1853 -0
  107. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +1108 -0
  108. package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +156 -0
  109. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +2824 -0
  110. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +2929 -0
  111. package/docs-site-docusaurus/docs/api/classes/Matrix.md +1026 -0
  112. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +1866 -0
  113. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +1883 -0
  114. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +1879 -0
  115. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +1882 -0
  116. package/docs-site-docusaurus/docs/api/classes/Navigator.md +109 -0
  117. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +1839 -0
  118. package/docs-site-docusaurus/docs/api/classes/Queue.md +2244 -0
  119. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +6374 -0
  120. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +372 -0
  121. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +2897 -0
  122. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +169 -0
  123. package/docs-site-docusaurus/docs/api/classes/SkipList.md +1229 -0
  124. package/docs-site-docusaurus/docs/api/classes/Stack.md +1573 -0
  125. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +1257 -0
  126. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +1475 -0
  127. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +1117 -0
  128. package/docs-site-docusaurus/docs/api/classes/Trie.md +1708 -0
  129. package/docs-site-docusaurus/docs/api/classes/TrieNode.md +199 -0
  130. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +2979 -0
  131. package/docs-site-docusaurus/docs/guide/_category_.json +6 -0
  132. package/docs-site-docusaurus/docs/guide/architecture.md +613 -0
  133. package/docs-site-docusaurus/docs/guide/concepts.md +420 -0
  134. package/docs-site-docusaurus/docs/guide/guides.md +611 -0
  135. package/docs-site-docusaurus/docs/guide/installation.md +60 -0
  136. package/docs-site-docusaurus/docs/guide/integrations.md +823 -0
  137. package/docs-site-docusaurus/docs/guide/overview.md +638 -0
  138. package/docs-site-docusaurus/docs/guide/performance.md +833 -0
  139. package/docs-site-docusaurus/docs/guide/quick-start.md +73 -0
  140. package/docs-site-docusaurus/docusaurus.config.ts +159 -0
  141. package/docs-site-docusaurus/fix-mdx-generics.mjs +75 -0
  142. package/docs-site-docusaurus/package-lock.json +18667 -0
  143. package/docs-site-docusaurus/package.json +50 -0
  144. package/docs-site-docusaurus/prefix-class-to-methods.mjs +48 -0
  145. package/docs-site-docusaurus/sidebars.ts +23 -0
  146. package/docs-site-docusaurus/sort-protected.mjs +87 -0
  147. package/docs-site-docusaurus/src/css/custom.css +96 -0
  148. package/docs-site-docusaurus/src/pages/index.module.css +13 -0
  149. package/docs-site-docusaurus/src/pages/index.tsx +71 -0
  150. package/docs-site-docusaurus/src/pages/markdown-page.md +7 -0
  151. package/docs-site-docusaurus/src/theme/TOCItems/index.tsx +34 -0
  152. package/docs-site-docusaurus/static/.nojekyll +0 -0
  153. package/docs-site-docusaurus/static/img/docusaurus-social-card.jpg +0 -0
  154. package/docs-site-docusaurus/static/img/docusaurus.png +0 -0
  155. package/docs-site-docusaurus/static/img/favicon.ico +0 -0
  156. package/docs-site-docusaurus/static/img/favicon.png +0 -0
  157. package/docs-site-docusaurus/static/img/logo-180.png +0 -0
  158. package/docs-site-docusaurus/static/img/logo.jpg +0 -0
  159. package/docs-site-docusaurus/static/img/logo.png +0 -0
  160. package/docs-site-docusaurus/static/img/logo.svg +1 -0
  161. package/docs-site-docusaurus/static/img/og-image.png +0 -0
  162. package/docs-site-docusaurus/static/img/undraw_docusaurus_mountain.svg +171 -0
  163. package/docs-site-docusaurus/static/img/undraw_docusaurus_react.svg +170 -0
  164. package/docs-site-docusaurus/static/img/undraw_docusaurus_tree.svg +40 -0
  165. package/docs-site-docusaurus/static/robots.txt +4 -0
  166. package/docs-site-docusaurus/typedoc.json +23 -0
  167. package/package.json +106 -10
  168. package/src/data-structures/base/index.ts +1 -0
  169. package/src/data-structures/base/iterable-entry-base.ts +8 -8
  170. package/src/data-structures/base/linear-base.ts +3 -3
  171. package/src/data-structures/binary-tree/avl-tree.ts +240 -0
  172. package/src/data-structures/binary-tree/binary-indexed-tree.ts +281 -1
  173. package/src/data-structures/binary-tree/binary-tree.ts +502 -2
  174. package/src/data-structures/binary-tree/bst.ts +481 -1
  175. package/src/data-structures/binary-tree/red-black-tree.ts +380 -0
  176. package/src/data-structures/binary-tree/segment-tree.ts +121 -2
  177. package/src/data-structures/binary-tree/tree-map.ts +2862 -482
  178. package/src/data-structures/binary-tree/tree-multi-map.ts +2963 -563
  179. package/src/data-structures/binary-tree/tree-multi-set.ts +2399 -479
  180. package/src/data-structures/binary-tree/tree-set.ts +2685 -405
  181. package/src/data-structures/graph/abstract-graph.ts +4 -4
  182. package/src/data-structures/graph/directed-graph.ts +200 -0
  183. package/src/data-structures/graph/undirected-graph.ts +180 -0
  184. package/src/data-structures/hash/hash-map.ts +235 -15
  185. package/src/data-structures/heap/heap.ts +280 -0
  186. package/src/data-structures/linked-list/doubly-linked-list.ts +343 -3
  187. package/src/data-structures/linked-list/singly-linked-list.ts +303 -3
  188. package/src/data-structures/linked-list/skip-linked-list.ts +362 -2
  189. package/src/data-structures/matrix/matrix.ts +161 -1
  190. package/src/data-structures/queue/deque.ts +305 -5
  191. package/src/data-structures/queue/queue.ts +240 -0
  192. package/src/data-structures/stack/stack.ts +200 -0
  193. package/src/data-structures/trie/trie.ts +245 -5
  194. package/src/interfaces/graph.ts +1 -1
  195. package/src/types/common.ts +2 -2
  196. package/src/types/data-structures/heap/heap.ts +1 -0
  197. package/src/types/data-structures/priority-queue/priority-queue.ts +1 -0
  198. package/src/types/utils/validate-type.ts +4 -4
  199. package/vercel.json +6 -0
  200. package/dist/leetcode/avl-tree-counter.mjs +0 -2957
  201. package/dist/leetcode/avl-tree-multi-map.mjs +0 -2889
  202. package/dist/leetcode/avl-tree.mjs +0 -2720
  203. package/dist/leetcode/binary-tree.mjs +0 -1594
  204. package/dist/leetcode/bst.mjs +0 -2398
  205. package/dist/leetcode/deque.mjs +0 -683
  206. package/dist/leetcode/directed-graph.mjs +0 -1733
  207. package/dist/leetcode/doubly-linked-list.mjs +0 -709
  208. package/dist/leetcode/hash-map.mjs +0 -493
  209. package/dist/leetcode/heap.mjs +0 -542
  210. package/dist/leetcode/max-heap.mjs +0 -375
  211. package/dist/leetcode/max-priority-queue.mjs +0 -383
  212. package/dist/leetcode/min-heap.mjs +0 -363
  213. package/dist/leetcode/min-priority-queue.mjs +0 -371
  214. package/dist/leetcode/priority-queue.mjs +0 -363
  215. package/dist/leetcode/queue.mjs +0 -943
  216. package/dist/leetcode/red-black-tree.mjs +0 -2765
  217. package/dist/leetcode/singly-linked-list.mjs +0 -754
  218. package/dist/leetcode/stack.mjs +0 -217
  219. package/dist/leetcode/tree-counter.mjs +0 -3039
  220. package/dist/leetcode/tree-multi-map.mjs +0 -2913
  221. package/dist/leetcode/trie.mjs +0 -413
  222. 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/2f6ceb3aee852228efc88b111e19c0809753e805/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/2f6ceb3aee852228efc88b111e19c0809753e805/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/2f6ceb3aee852228efc88b111e19c0809753e805/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/2f6ceb3aee852228efc88b111e19c0809753e805/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/2f6ceb3aee852228efc88b111e19c0809753e805/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/2f6ceb3aee852228efc88b111e19c0809753e805/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/2f6ceb3aee852228efc88b111e19c0809753e805/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/2f6ceb3aee852228efc88b111e19c0809753e805/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:1202](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/heap/heap.ts#L1202)
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:1210](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/heap/heap.ts#L1210)
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:1241](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/heap/heap.ts#L1241)
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:1224](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/heap/heap.ts#L1224)
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:1290](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/heap/heap.ts#L1290)
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:1361](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/heap/heap.ts#L1361)
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:1312](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/heap/heap.ts#L1312)
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:1332](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/heap/heap.ts#L1332)
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:1269](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/heap/heap.ts#L1269)
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:1180](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/heap/heap.ts#L1180)
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`