data-structure-typed 2.4.5 → 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 (240) 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 +78 -31
  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 +24509 -2899
  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 +32555 -10936
  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 +24507 -2898
  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 +32553 -10935
  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-element-base.d.ts +1 -1
  54. package/dist/types/data-structures/base/iterable-entry-base.d.ts +8 -8
  55. package/dist/types/data-structures/base/linear-base.d.ts +3 -3
  56. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +368 -51
  57. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +473 -147
  58. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +931 -80
  59. package/dist/types/data-structures/binary-tree/bst.d.ts +792 -29
  60. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +592 -32
  61. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +320 -135
  62. package/dist/types/data-structures/binary-tree/tree-map.d.ts +3662 -6
  63. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +3487 -201
  64. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +2778 -65
  65. package/dist/types/data-structures/binary-tree/tree-set.d.ts +3414 -6
  66. package/dist/types/data-structures/graph/abstract-graph.d.ts +4 -4
  67. package/dist/types/data-structures/graph/directed-graph.d.ts +419 -47
  68. package/dist/types/data-structures/graph/map-graph.d.ts +59 -1
  69. package/dist/types/data-structures/graph/undirected-graph.d.ts +384 -59
  70. package/dist/types/data-structures/hash/hash-map.d.ts +462 -89
  71. package/dist/types/data-structures/heap/heap.d.ts +567 -99
  72. package/dist/types/data-structures/heap/max-heap.d.ts +46 -0
  73. package/dist/types/data-structures/heap/min-heap.d.ts +59 -0
  74. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +631 -49
  75. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +581 -68
  76. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +775 -12
  77. package/dist/types/data-structures/matrix/matrix.d.ts +491 -0
  78. package/dist/types/data-structures/priority-queue/max-priority-queue.d.ts +57 -0
  79. package/dist/types/data-structures/priority-queue/min-priority-queue.d.ts +60 -0
  80. package/dist/types/data-structures/priority-queue/priority-queue.d.ts +60 -0
  81. package/dist/types/data-structures/queue/deque.d.ts +578 -71
  82. package/dist/types/data-structures/queue/queue.d.ts +451 -42
  83. package/dist/types/data-structures/stack/stack.d.ts +374 -32
  84. package/dist/types/data-structures/trie/trie.d.ts +458 -48
  85. package/dist/types/interfaces/graph.d.ts +1 -1
  86. package/dist/types/types/common.d.ts +2 -2
  87. package/dist/types/types/data-structures/binary-tree/segment-tree.d.ts +1 -1
  88. package/dist/types/types/data-structures/heap/heap.d.ts +1 -0
  89. package/dist/types/types/data-structures/linked-list/skip-linked-list.d.ts +1 -4
  90. package/dist/types/types/data-structures/priority-queue/priority-queue.d.ts +1 -0
  91. package/dist/types/types/utils/validate-type.d.ts +4 -4
  92. package/dist/umd/data-structure-typed.js +32432 -10808
  93. package/dist/umd/data-structure-typed.min.js +10 -4
  94. package/docs-site-docusaurus/README.md +41 -0
  95. package/docs-site-docusaurus/docs/api/README.md +52 -0
  96. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +6130 -0
  97. package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +282 -0
  98. package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +2266 -0
  99. package/docs-site-docusaurus/docs/api/classes/BST.md +5831 -0
  100. package/docs-site-docusaurus/docs/api/classes/BSTNode.md +333 -0
  101. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +455 -0
  102. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +4647 -0
  103. package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +331 -0
  104. package/docs-site-docusaurus/docs/api/classes/Deque.md +2767 -0
  105. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +2999 -0
  106. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +2685 -0
  107. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +221 -0
  108. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +253 -0
  109. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +21 -0
  110. package/docs-site-docusaurus/docs/api/classes/HashMap.md +1333 -0
  111. package/docs-site-docusaurus/docs/api/classes/Heap.md +1881 -0
  112. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +800 -0
  113. package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +644 -0
  114. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +1632 -0
  115. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +1853 -0
  116. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +1108 -0
  117. package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +156 -0
  118. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +2824 -0
  119. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +2929 -0
  120. package/docs-site-docusaurus/docs/api/classes/Matrix.md +1026 -0
  121. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +1866 -0
  122. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +1883 -0
  123. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +1879 -0
  124. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +1882 -0
  125. package/docs-site-docusaurus/docs/api/classes/Navigator.md +109 -0
  126. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +1839 -0
  127. package/docs-site-docusaurus/docs/api/classes/Queue.md +2244 -0
  128. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +6374 -0
  129. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +372 -0
  130. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +2897 -0
  131. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +169 -0
  132. package/docs-site-docusaurus/docs/api/classes/SkipList.md +1229 -0
  133. package/docs-site-docusaurus/docs/api/classes/Stack.md +1573 -0
  134. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +1257 -0
  135. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +1475 -0
  136. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +1117 -0
  137. package/docs-site-docusaurus/docs/api/classes/Trie.md +1708 -0
  138. package/docs-site-docusaurus/docs/api/classes/TrieNode.md +199 -0
  139. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +2979 -0
  140. package/docs-site-docusaurus/docs/guide/_category_.json +6 -0
  141. package/docs-site-docusaurus/docs/guide/architecture.md +613 -0
  142. package/docs-site-docusaurus/docs/guide/concepts.md +420 -0
  143. package/docs-site-docusaurus/docs/guide/guides.md +611 -0
  144. package/docs-site-docusaurus/docs/guide/installation.md +60 -0
  145. package/docs-site-docusaurus/docs/guide/integrations.md +823 -0
  146. package/docs-site-docusaurus/docs/guide/overview.md +638 -0
  147. package/docs-site-docusaurus/docs/guide/performance.md +833 -0
  148. package/docs-site-docusaurus/docs/guide/quick-start.md +73 -0
  149. package/docs-site-docusaurus/docusaurus.config.ts +159 -0
  150. package/docs-site-docusaurus/fix-mdx-generics.mjs +75 -0
  151. package/docs-site-docusaurus/package-lock.json +18667 -0
  152. package/docs-site-docusaurus/package.json +50 -0
  153. package/docs-site-docusaurus/prefix-class-to-methods.mjs +48 -0
  154. package/docs-site-docusaurus/sidebars.ts +23 -0
  155. package/docs-site-docusaurus/sort-protected.mjs +87 -0
  156. package/docs-site-docusaurus/src/css/custom.css +96 -0
  157. package/docs-site-docusaurus/src/pages/index.module.css +13 -0
  158. package/docs-site-docusaurus/src/pages/index.tsx +71 -0
  159. package/docs-site-docusaurus/src/pages/markdown-page.md +7 -0
  160. package/docs-site-docusaurus/src/theme/TOCItems/index.tsx +34 -0
  161. package/docs-site-docusaurus/static/.nojekyll +0 -0
  162. package/docs-site-docusaurus/static/img/docusaurus-social-card.jpg +0 -0
  163. package/docs-site-docusaurus/static/img/docusaurus.png +0 -0
  164. package/docs-site-docusaurus/static/img/favicon.ico +0 -0
  165. package/docs-site-docusaurus/static/img/favicon.png +0 -0
  166. package/docs-site-docusaurus/static/img/logo-180.png +0 -0
  167. package/docs-site-docusaurus/static/img/logo.jpg +0 -0
  168. package/docs-site-docusaurus/static/img/logo.png +0 -0
  169. package/docs-site-docusaurus/static/img/logo.svg +1 -0
  170. package/docs-site-docusaurus/static/img/og-image.png +0 -0
  171. package/docs-site-docusaurus/static/img/undraw_docusaurus_mountain.svg +171 -0
  172. package/docs-site-docusaurus/static/img/undraw_docusaurus_react.svg +170 -0
  173. package/docs-site-docusaurus/static/img/undraw_docusaurus_tree.svg +40 -0
  174. package/docs-site-docusaurus/static/robots.txt +4 -0
  175. package/docs-site-docusaurus/typedoc.json +23 -0
  176. package/package.json +109 -12
  177. package/src/data-structures/base/index.ts +1 -0
  178. package/src/data-structures/base/iterable-element-base.ts +4 -5
  179. package/src/data-structures/base/iterable-entry-base.ts +8 -8
  180. package/src/data-structures/base/linear-base.ts +3 -3
  181. package/src/data-structures/binary-tree/avl-tree.ts +386 -51
  182. package/src/data-structures/binary-tree/binary-indexed-tree.ts +596 -247
  183. package/src/data-structures/binary-tree/binary-tree.ts +956 -81
  184. package/src/data-structures/binary-tree/bst.ts +840 -35
  185. package/src/data-structures/binary-tree/red-black-tree.ts +689 -97
  186. package/src/data-structures/binary-tree/segment-tree.ts +498 -249
  187. package/src/data-structures/binary-tree/tree-map.ts +3784 -7
  188. package/src/data-structures/binary-tree/tree-multi-map.ts +3614 -211
  189. package/src/data-structures/binary-tree/tree-multi-set.ts +2874 -65
  190. package/src/data-structures/binary-tree/tree-set.ts +3531 -10
  191. package/src/data-structures/graph/abstract-graph.ts +4 -4
  192. package/src/data-structures/graph/directed-graph.ts +429 -47
  193. package/src/data-structures/graph/map-graph.ts +59 -1
  194. package/src/data-structures/graph/undirected-graph.ts +393 -59
  195. package/src/data-structures/hash/hash-map.ts +476 -92
  196. package/src/data-structures/heap/heap.ts +581 -99
  197. package/src/data-structures/heap/max-heap.ts +46 -0
  198. package/src/data-structures/heap/min-heap.ts +59 -0
  199. package/src/data-structures/linked-list/doubly-linked-list.ts +646 -47
  200. package/src/data-structures/linked-list/singly-linked-list.ts +596 -68
  201. package/src/data-structures/linked-list/skip-linked-list.ts +1067 -90
  202. package/src/data-structures/matrix/matrix.ts +584 -12
  203. package/src/data-structures/priority-queue/max-priority-queue.ts +57 -0
  204. package/src/data-structures/priority-queue/min-priority-queue.ts +60 -0
  205. package/src/data-structures/priority-queue/priority-queue.ts +60 -0
  206. package/src/data-structures/queue/deque.ts +592 -70
  207. package/src/data-structures/queue/queue.ts +463 -42
  208. package/src/data-structures/stack/stack.ts +384 -32
  209. package/src/data-structures/trie/trie.ts +470 -48
  210. package/src/interfaces/graph.ts +1 -1
  211. package/src/types/common.ts +2 -2
  212. package/src/types/data-structures/binary-tree/segment-tree.ts +1 -1
  213. package/src/types/data-structures/heap/heap.ts +1 -0
  214. package/src/types/data-structures/linked-list/skip-linked-list.ts +2 -1
  215. package/src/types/data-structures/priority-queue/priority-queue.ts +1 -0
  216. package/src/types/utils/validate-type.ts +4 -4
  217. package/vercel.json +6 -0
  218. package/dist/leetcode/avl-tree-counter.mjs +0 -2957
  219. package/dist/leetcode/avl-tree-multi-map.mjs +0 -2889
  220. package/dist/leetcode/avl-tree.mjs +0 -2720
  221. package/dist/leetcode/binary-tree.mjs +0 -1594
  222. package/dist/leetcode/bst.mjs +0 -2398
  223. package/dist/leetcode/deque.mjs +0 -683
  224. package/dist/leetcode/directed-graph.mjs +0 -1733
  225. package/dist/leetcode/doubly-linked-list.mjs +0 -709
  226. package/dist/leetcode/hash-map.mjs +0 -493
  227. package/dist/leetcode/heap.mjs +0 -542
  228. package/dist/leetcode/max-heap.mjs +0 -375
  229. package/dist/leetcode/max-priority-queue.mjs +0 -383
  230. package/dist/leetcode/min-heap.mjs +0 -363
  231. package/dist/leetcode/min-priority-queue.mjs +0 -371
  232. package/dist/leetcode/priority-queue.mjs +0 -363
  233. package/dist/leetcode/queue.mjs +0 -943
  234. package/dist/leetcode/red-black-tree.mjs +0 -2765
  235. package/dist/leetcode/singly-linked-list.mjs +0 -754
  236. package/dist/leetcode/stack.mjs +0 -217
  237. package/dist/leetcode/tree-counter.mjs +0 -3039
  238. package/dist/leetcode/tree-multi-map.mjs +0 -2913
  239. package/dist/leetcode/trie.mjs +0 -413
  240. 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`