data-structure-typed 1.48.8 → 1.49.0
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.
- package/CHANGELOG.md +1 -1
- package/README.md +58 -55
- package/README_zh-CN.md +58 -56
- package/benchmark/report.html +1 -46
- package/benchmark/report.json +23 -458
- package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +8 -1
- package/dist/cjs/data-structures/binary-tree/avl-tree.js +9 -0
- package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +15 -10
- package/dist/cjs/data-structures/binary-tree/binary-tree.js +55 -49
- package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/bst.d.ts +8 -1
- package/dist/cjs/data-structures/binary-tree/bst.js +9 -0
- package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +10 -16
- package/dist/cjs/data-structures/binary-tree/rb-tree.js +16 -29
- package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/tree-multimap.d.ts +8 -1
- package/dist/cjs/data-structures/binary-tree/tree-multimap.js +9 -0
- package/dist/cjs/data-structures/binary-tree/tree-multimap.js.map +1 -1
- package/dist/cjs/data-structures/queue/deque.d.ts +0 -110
- package/dist/cjs/data-structures/queue/deque.js +1 -172
- package/dist/cjs/data-structures/queue/deque.js.map +1 -1
- package/dist/mjs/data-structures/binary-tree/avl-tree.d.ts +8 -1
- package/dist/mjs/data-structures/binary-tree/avl-tree.js +9 -0
- package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +15 -10
- package/dist/mjs/data-structures/binary-tree/binary-tree.js +55 -49
- package/dist/mjs/data-structures/binary-tree/bst.d.ts +8 -1
- package/dist/mjs/data-structures/binary-tree/bst.js +9 -0
- package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +10 -16
- package/dist/mjs/data-structures/binary-tree/rb-tree.js +16 -28
- package/dist/mjs/data-structures/binary-tree/tree-multimap.d.ts +8 -1
- package/dist/mjs/data-structures/binary-tree/tree-multimap.js +9 -0
- package/dist/mjs/data-structures/queue/deque.d.ts +0 -110
- package/dist/mjs/data-structures/queue/deque.js +0 -170
- package/dist/umd/data-structure-typed.js +94 -239
- package/dist/umd/data-structure-typed.min.js +2 -2
- package/dist/umd/data-structure-typed.min.js.map +1 -1
- package/package.json +1 -1
- package/src/data-structures/binary-tree/avl-tree.ts +11 -1
- package/src/data-structures/binary-tree/binary-tree.ts +65 -56
- package/src/data-structures/binary-tree/bst.ts +11 -1
- package/src/data-structures/binary-tree/rb-tree.ts +18 -32
- package/src/data-structures/binary-tree/tree-multimap.ts +17 -1
- package/src/data-structures/queue/deque.ts +1 -191
- package/test/unit/data-structures/binary-tree/binary-tree.test.ts +15 -8
- package/test/unit/data-structures/binary-tree/bst.test.ts +1 -1
- package/test/unit/data-structures/binary-tree/rb-tree.test.ts +5 -5
- package/test/unit/data-structures/queue/deque.test.ts +265 -367
- package/test/unit/data-structures/queue/queue.test.ts +158 -158
package/benchmark/report.json
CHANGED
|
@@ -1,490 +1,55 @@
|
|
|
1
1
|
{
|
|
2
|
-
"avl-tree": {
|
|
3
|
-
"benchmarks": [
|
|
4
|
-
{
|
|
5
|
-
"test name": "10,000 add randomly",
|
|
6
|
-
"time taken (ms)": "51.22",
|
|
7
|
-
"executions per sec": "19.52",
|
|
8
|
-
"sample deviation": "0.00"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"test name": "10,000 add & delete randomly",
|
|
12
|
-
"time taken (ms)": "110.40",
|
|
13
|
-
"executions per sec": "9.06",
|
|
14
|
-
"sample deviation": "0.00"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"test name": "10,000 addMany",
|
|
18
|
-
"time taken (ms)": "58.39",
|
|
19
|
-
"executions per sec": "17.13",
|
|
20
|
-
"sample deviation": "6.35e-4"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"test name": "10,000 get",
|
|
24
|
-
"time taken (ms)": "50.59",
|
|
25
|
-
"executions per sec": "19.77",
|
|
26
|
-
"sample deviation": "3.87e-4"
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
"testName": "avl-tree"
|
|
30
|
-
},
|
|
31
2
|
"binary-tree": {
|
|
32
3
|
"benchmarks": [
|
|
33
4
|
{
|
|
34
5
|
"test name": "1,000 add randomly",
|
|
35
|
-
"time taken (ms)": "
|
|
36
|
-
"executions per sec": "
|
|
37
|
-
"sample deviation": "
|
|
6
|
+
"time taken (ms)": "17.61",
|
|
7
|
+
"executions per sec": "56.79",
|
|
8
|
+
"sample deviation": "4.75e-4"
|
|
38
9
|
},
|
|
39
10
|
{
|
|
40
11
|
"test name": "1,000 add & delete randomly",
|
|
41
|
-
"time taken (ms)": "21
|
|
42
|
-
"executions per sec": "
|
|
43
|
-
"sample deviation": "
|
|
12
|
+
"time taken (ms)": "23.21",
|
|
13
|
+
"executions per sec": "43.08",
|
|
14
|
+
"sample deviation": "0.00"
|
|
44
15
|
},
|
|
45
16
|
{
|
|
46
17
|
"test name": "1,000 addMany",
|
|
47
|
-
"time taken (ms)": "
|
|
48
|
-
"executions per sec": "
|
|
49
|
-
"sample deviation": "
|
|
18
|
+
"time taken (ms)": "17.89",
|
|
19
|
+
"executions per sec": "55.90",
|
|
20
|
+
"sample deviation": "0.00"
|
|
50
21
|
},
|
|
51
22
|
{
|
|
52
23
|
"test name": "1,000 get",
|
|
53
|
-
"time taken (ms)": "
|
|
54
|
-
"executions per sec": "
|
|
55
|
-
"sample deviation": "
|
|
24
|
+
"time taken (ms)": "17.71",
|
|
25
|
+
"executions per sec": "56.47",
|
|
26
|
+
"sample deviation": "0.00"
|
|
56
27
|
},
|
|
57
28
|
{
|
|
58
29
|
"test name": "1,000 has",
|
|
59
|
-
"time taken (ms)": "
|
|
60
|
-
"executions per sec": "
|
|
61
|
-
"sample deviation": "
|
|
30
|
+
"time taken (ms)": "17.15",
|
|
31
|
+
"executions per sec": "58.30",
|
|
32
|
+
"sample deviation": "2.88e-4"
|
|
62
33
|
},
|
|
63
34
|
{
|
|
64
35
|
"test name": "1,000 dfs",
|
|
65
|
-
"time taken (ms)": "161.
|
|
66
|
-
"executions per sec": "6.
|
|
67
|
-
"sample deviation": "
|
|
36
|
+
"time taken (ms)": "161.44",
|
|
37
|
+
"executions per sec": "6.19",
|
|
38
|
+
"sample deviation": "0.00"
|
|
68
39
|
},
|
|
69
40
|
{
|
|
70
41
|
"test name": "1,000 bfs",
|
|
71
|
-
"time taken (ms)": "
|
|
72
|
-
"executions per sec": "17.
|
|
73
|
-
"sample deviation": "
|
|
42
|
+
"time taken (ms)": "57.53",
|
|
43
|
+
"executions per sec": "17.38",
|
|
44
|
+
"sample deviation": "0.00"
|
|
74
45
|
},
|
|
75
46
|
{
|
|
76
47
|
"test name": "1,000 morris",
|
|
77
|
-
"time taken (ms)": "
|
|
78
|
-
"executions per sec": "3.
|
|
48
|
+
"time taken (ms)": "258.22",
|
|
49
|
+
"executions per sec": "3.87",
|
|
79
50
|
"sample deviation": "0.00"
|
|
80
51
|
}
|
|
81
52
|
],
|
|
82
53
|
"testName": "binary-tree"
|
|
83
|
-
},
|
|
84
|
-
"bst": {
|
|
85
|
-
"benchmarks": [
|
|
86
|
-
{
|
|
87
|
-
"test name": "10,000 add randomly",
|
|
88
|
-
"time taken (ms)": "51.51",
|
|
89
|
-
"executions per sec": "19.41",
|
|
90
|
-
"sample deviation": "8.70e-4"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"test name": "10,000 add & delete randomly",
|
|
94
|
-
"time taken (ms)": "114.09",
|
|
95
|
-
"executions per sec": "8.76",
|
|
96
|
-
"sample deviation": "9.66e-4"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
"test name": "10,000 addMany",
|
|
100
|
-
"time taken (ms)": "47.86",
|
|
101
|
-
"executions per sec": "20.90",
|
|
102
|
-
"sample deviation": "2.77e-4"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
"test name": "10,000 get",
|
|
106
|
-
"time taken (ms)": "51.93",
|
|
107
|
-
"executions per sec": "19.26",
|
|
108
|
-
"sample deviation": "6.56e-4"
|
|
109
|
-
}
|
|
110
|
-
],
|
|
111
|
-
"testName": "bst"
|
|
112
|
-
},
|
|
113
|
-
"rb-tree": {
|
|
114
|
-
"benchmarks": [
|
|
115
|
-
{
|
|
116
|
-
"test name": "100,000 add",
|
|
117
|
-
"time taken (ms)": "86.63",
|
|
118
|
-
"executions per sec": "11.54",
|
|
119
|
-
"sample deviation": "0.00"
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
"test name": "100,000 add & delete randomly",
|
|
123
|
-
"time taken (ms)": "218.88",
|
|
124
|
-
"executions per sec": "4.57",
|
|
125
|
-
"sample deviation": "0.01"
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"test name": "100,000 getNode",
|
|
129
|
-
"time taken (ms)": "261.16",
|
|
130
|
-
"executions per sec": "3.83",
|
|
131
|
-
"sample deviation": "0.00"
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"test name": "100,000 add & iterator",
|
|
135
|
-
"time taken (ms)": "117.64",
|
|
136
|
-
"executions per sec": "8.50",
|
|
137
|
-
"sample deviation": "0.00"
|
|
138
|
-
}
|
|
139
|
-
],
|
|
140
|
-
"testName": "rb-tree"
|
|
141
|
-
},
|
|
142
|
-
"comparison": {
|
|
143
|
-
"benchmarks": [
|
|
144
|
-
{
|
|
145
|
-
"test name": "SRC PQ 10,000 add",
|
|
146
|
-
"time taken (ms)": "0.14",
|
|
147
|
-
"executions per sec": "6949.20",
|
|
148
|
-
"sample deviation": "1.53e-6"
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
"test name": "CJS PQ 10,000 add",
|
|
152
|
-
"time taken (ms)": "0.14",
|
|
153
|
-
"executions per sec": "6943.68",
|
|
154
|
-
"sample deviation": "1.74e-6"
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"test name": "MJS PQ 10,000 add",
|
|
158
|
-
"time taken (ms)": "0.57",
|
|
159
|
-
"executions per sec": "1758.40",
|
|
160
|
-
"sample deviation": "6.26e-6"
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
"test name": "SRC PQ 10,000 add & pop",
|
|
164
|
-
"time taken (ms)": "3.40",
|
|
165
|
-
"executions per sec": "293.94",
|
|
166
|
-
"sample deviation": "3.50e-5"
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
"test name": "CJS PQ 10,000 add & pop",
|
|
170
|
-
"time taken (ms)": "3.42",
|
|
171
|
-
"executions per sec": "292.69",
|
|
172
|
-
"sample deviation": "5.34e-5"
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
"test name": "MJS PQ 10,000 add & pop",
|
|
176
|
-
"time taken (ms)": "3.30",
|
|
177
|
-
"executions per sec": "303.01",
|
|
178
|
-
"sample deviation": "3.97e-5"
|
|
179
|
-
}
|
|
180
|
-
],
|
|
181
|
-
"testName": "comparison"
|
|
182
|
-
},
|
|
183
|
-
"directed-graph": {
|
|
184
|
-
"benchmarks": [
|
|
185
|
-
{
|
|
186
|
-
"test name": "1,000 addVertex",
|
|
187
|
-
"time taken (ms)": "0.10",
|
|
188
|
-
"executions per sec": "9930.74",
|
|
189
|
-
"sample deviation": "1.11e-6"
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
"test name": "1,000 addEdge",
|
|
193
|
-
"time taken (ms)": "6.13",
|
|
194
|
-
"executions per sec": "163.19",
|
|
195
|
-
"sample deviation": "1.84e-4"
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
"test name": "1,000 getVertex",
|
|
199
|
-
"time taken (ms)": "0.05",
|
|
200
|
-
"executions per sec": "2.15e+4",
|
|
201
|
-
"sample deviation": "5.00e-7"
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
"test name": "1,000 getEdge",
|
|
205
|
-
"time taken (ms)": "23.57",
|
|
206
|
-
"executions per sec": "42.43",
|
|
207
|
-
"sample deviation": "0.00"
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
"test name": "tarjan",
|
|
211
|
-
"time taken (ms)": "252.05",
|
|
212
|
-
"executions per sec": "3.97",
|
|
213
|
-
"sample deviation": "0.03"
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
"test name": "tarjan all",
|
|
217
|
-
"time taken (ms)": "221.15",
|
|
218
|
-
"executions per sec": "4.52",
|
|
219
|
-
"sample deviation": "0.00"
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
"test name": "topologicalSort",
|
|
223
|
-
"time taken (ms)": "181.07",
|
|
224
|
-
"executions per sec": "5.52",
|
|
225
|
-
"sample deviation": "0.00"
|
|
226
|
-
}
|
|
227
|
-
],
|
|
228
|
-
"testName": "directed-graph"
|
|
229
|
-
},
|
|
230
|
-
"hash-map": {
|
|
231
|
-
"benchmarks": [
|
|
232
|
-
{
|
|
233
|
-
"test name": "1,000,000 set",
|
|
234
|
-
"time taken (ms)": "122.90",
|
|
235
|
-
"executions per sec": "8.14",
|
|
236
|
-
"sample deviation": "0.04"
|
|
237
|
-
},
|
|
238
|
-
{
|
|
239
|
-
"test name": "Native Map 1,000,000 set",
|
|
240
|
-
"time taken (ms)": "215.97",
|
|
241
|
-
"executions per sec": "4.63",
|
|
242
|
-
"sample deviation": "0.02"
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
"test name": "Native Set 1,000,000 add",
|
|
246
|
-
"time taken (ms)": "179.11",
|
|
247
|
-
"executions per sec": "5.58",
|
|
248
|
-
"sample deviation": "0.02"
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
"test name": "1,000,000 set & get",
|
|
252
|
-
"time taken (ms)": "123.10",
|
|
253
|
-
"executions per sec": "8.12",
|
|
254
|
-
"sample deviation": "0.04"
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
"test name": "Native Map 1,000,000 set & get",
|
|
258
|
-
"time taken (ms)": "271.80",
|
|
259
|
-
"executions per sec": "3.68",
|
|
260
|
-
"sample deviation": "0.02"
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
"test name": "Native Set 1,000,000 add & has",
|
|
264
|
-
"time taken (ms)": "176.65",
|
|
265
|
-
"executions per sec": "5.66",
|
|
266
|
-
"sample deviation": "0.02"
|
|
267
|
-
},
|
|
268
|
-
{
|
|
269
|
-
"test name": "1,000,000 ObjKey set & get",
|
|
270
|
-
"time taken (ms)": "341.97",
|
|
271
|
-
"executions per sec": "2.92",
|
|
272
|
-
"sample deviation": "0.07"
|
|
273
|
-
},
|
|
274
|
-
{
|
|
275
|
-
"test name": "Native Map 1,000,000 ObjKey set & get",
|
|
276
|
-
"time taken (ms)": "316.86",
|
|
277
|
-
"executions per sec": "3.16",
|
|
278
|
-
"sample deviation": "0.04"
|
|
279
|
-
},
|
|
280
|
-
{
|
|
281
|
-
"test name": "Native Set 1,000,000 ObjKey add & has",
|
|
282
|
-
"time taken (ms)": "285.14",
|
|
283
|
-
"executions per sec": "3.51",
|
|
284
|
-
"sample deviation": "0.06"
|
|
285
|
-
}
|
|
286
|
-
],
|
|
287
|
-
"testName": "hash-map"
|
|
288
|
-
},
|
|
289
|
-
"heap": {
|
|
290
|
-
"benchmarks": [
|
|
291
|
-
{
|
|
292
|
-
"test name": "100,000 add & pop",
|
|
293
|
-
"time taken (ms)": "80.37",
|
|
294
|
-
"executions per sec": "12.44",
|
|
295
|
-
"sample deviation": "0.00"
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
"test name": "100,000 add & dfs",
|
|
299
|
-
"time taken (ms)": "36.20",
|
|
300
|
-
"executions per sec": "27.63",
|
|
301
|
-
"sample deviation": "0.00"
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
"test name": "10,000 fib add & pop",
|
|
305
|
-
"time taken (ms)": "362.24",
|
|
306
|
-
"executions per sec": "2.76",
|
|
307
|
-
"sample deviation": "0.00"
|
|
308
|
-
}
|
|
309
|
-
],
|
|
310
|
-
"testName": "heap"
|
|
311
|
-
},
|
|
312
|
-
"doubly-linked-list": {
|
|
313
|
-
"benchmarks": [
|
|
314
|
-
{
|
|
315
|
-
"test name": "1,000,000 push",
|
|
316
|
-
"time taken (ms)": "216.09",
|
|
317
|
-
"executions per sec": "4.63",
|
|
318
|
-
"sample deviation": "0.06"
|
|
319
|
-
},
|
|
320
|
-
{
|
|
321
|
-
"test name": "1,000,000 unshift",
|
|
322
|
-
"time taken (ms)": "220.68",
|
|
323
|
-
"executions per sec": "4.53",
|
|
324
|
-
"sample deviation": "0.02"
|
|
325
|
-
},
|
|
326
|
-
{
|
|
327
|
-
"test name": "1,000,000 unshift & shift",
|
|
328
|
-
"time taken (ms)": "172.93",
|
|
329
|
-
"executions per sec": "5.78",
|
|
330
|
-
"sample deviation": "0.04"
|
|
331
|
-
},
|
|
332
|
-
{
|
|
333
|
-
"test name": "1,000,000 insertBefore",
|
|
334
|
-
"time taken (ms)": "332.25",
|
|
335
|
-
"executions per sec": "3.01",
|
|
336
|
-
"sample deviation": "0.08"
|
|
337
|
-
}
|
|
338
|
-
],
|
|
339
|
-
"testName": "doubly-linked-list"
|
|
340
|
-
},
|
|
341
|
-
"singly-linked-list": {
|
|
342
|
-
"benchmarks": [
|
|
343
|
-
{
|
|
344
|
-
"test name": "1,000,000 push & shift",
|
|
345
|
-
"time taken (ms)": "222.99",
|
|
346
|
-
"executions per sec": "4.48",
|
|
347
|
-
"sample deviation": "0.10"
|
|
348
|
-
},
|
|
349
|
-
{
|
|
350
|
-
"test name": "10,000 push & pop",
|
|
351
|
-
"time taken (ms)": "214.82",
|
|
352
|
-
"executions per sec": "4.66",
|
|
353
|
-
"sample deviation": "0.01"
|
|
354
|
-
},
|
|
355
|
-
{
|
|
356
|
-
"test name": "10,000 insertBefore",
|
|
357
|
-
"time taken (ms)": "251.24",
|
|
358
|
-
"executions per sec": "3.98",
|
|
359
|
-
"sample deviation": "0.01"
|
|
360
|
-
}
|
|
361
|
-
],
|
|
362
|
-
"testName": "singly-linked-list"
|
|
363
|
-
},
|
|
364
|
-
"max-priority-queue": {
|
|
365
|
-
"benchmarks": [
|
|
366
|
-
{
|
|
367
|
-
"test name": "10,000 refill & poll",
|
|
368
|
-
"time taken (ms)": "8.91",
|
|
369
|
-
"executions per sec": "112.19",
|
|
370
|
-
"sample deviation": "1.57e-4"
|
|
371
|
-
}
|
|
372
|
-
],
|
|
373
|
-
"testName": "max-priority-queue"
|
|
374
|
-
},
|
|
375
|
-
"priority-queue": {
|
|
376
|
-
"benchmarks": [
|
|
377
|
-
{
|
|
378
|
-
"test name": "100,000 add & pop",
|
|
379
|
-
"time taken (ms)": "101.70",
|
|
380
|
-
"executions per sec": "9.83",
|
|
381
|
-
"sample deviation": "0.00"
|
|
382
|
-
}
|
|
383
|
-
],
|
|
384
|
-
"testName": "priority-queue"
|
|
385
|
-
},
|
|
386
|
-
"deque": {
|
|
387
|
-
"benchmarks": [
|
|
388
|
-
{
|
|
389
|
-
"test name": "1,000,000 push",
|
|
390
|
-
"time taken (ms)": "13.80",
|
|
391
|
-
"executions per sec": "72.47",
|
|
392
|
-
"sample deviation": "1.56e-4"
|
|
393
|
-
},
|
|
394
|
-
{
|
|
395
|
-
"test name": "1,000,000 push & pop",
|
|
396
|
-
"time taken (ms)": "22.72",
|
|
397
|
-
"executions per sec": "44.02",
|
|
398
|
-
"sample deviation": "2.02e-4"
|
|
399
|
-
},
|
|
400
|
-
{
|
|
401
|
-
"test name": "100,000 push & shift",
|
|
402
|
-
"time taken (ms)": "2.35",
|
|
403
|
-
"executions per sec": "425.67",
|
|
404
|
-
"sample deviation": "5.80e-5"
|
|
405
|
-
},
|
|
406
|
-
{
|
|
407
|
-
"test name": "Native Array 100,000 push & shift",
|
|
408
|
-
"time taken (ms)": "2511.14",
|
|
409
|
-
"executions per sec": "0.40",
|
|
410
|
-
"sample deviation": "0.36"
|
|
411
|
-
},
|
|
412
|
-
{
|
|
413
|
-
"test name": "100,000 unshift & shift",
|
|
414
|
-
"time taken (ms)": "2.23",
|
|
415
|
-
"executions per sec": "447.89",
|
|
416
|
-
"sample deviation": "3.30e-4"
|
|
417
|
-
},
|
|
418
|
-
{
|
|
419
|
-
"test name": "Native Array 100,000 unshift & shift",
|
|
420
|
-
"time taken (ms)": "4140.23",
|
|
421
|
-
"executions per sec": "0.24",
|
|
422
|
-
"sample deviation": "0.33"
|
|
423
|
-
}
|
|
424
|
-
],
|
|
425
|
-
"testName": "deque"
|
|
426
|
-
},
|
|
427
|
-
"queue": {
|
|
428
|
-
"benchmarks": [
|
|
429
|
-
{
|
|
430
|
-
"test name": "1,000,000 push",
|
|
431
|
-
"time taken (ms)": "43.65",
|
|
432
|
-
"executions per sec": "22.91",
|
|
433
|
-
"sample deviation": "0.01"
|
|
434
|
-
},
|
|
435
|
-
{
|
|
436
|
-
"test name": "100,000 push & shift",
|
|
437
|
-
"time taken (ms)": "4.99",
|
|
438
|
-
"executions per sec": "200.28",
|
|
439
|
-
"sample deviation": "9.54e-5"
|
|
440
|
-
},
|
|
441
|
-
{
|
|
442
|
-
"test name": "Native Array 100,000 push & shift",
|
|
443
|
-
"time taken (ms)": "2335.63",
|
|
444
|
-
"executions per sec": "0.43",
|
|
445
|
-
"sample deviation": "0.33"
|
|
446
|
-
},
|
|
447
|
-
{
|
|
448
|
-
"test name": "Native Array 100,000 push & pop",
|
|
449
|
-
"time taken (ms)": "4.39",
|
|
450
|
-
"executions per sec": "227.81",
|
|
451
|
-
"sample deviation": "0.00"
|
|
452
|
-
}
|
|
453
|
-
],
|
|
454
|
-
"testName": "queue"
|
|
455
|
-
},
|
|
456
|
-
"stack": {
|
|
457
|
-
"benchmarks": [
|
|
458
|
-
{
|
|
459
|
-
"test name": "1,000,000 push",
|
|
460
|
-
"time taken (ms)": "45.38",
|
|
461
|
-
"executions per sec": "22.04",
|
|
462
|
-
"sample deviation": "0.01"
|
|
463
|
-
},
|
|
464
|
-
{
|
|
465
|
-
"test name": "1,000,000 push & pop",
|
|
466
|
-
"time taken (ms)": "49.52",
|
|
467
|
-
"executions per sec": "20.19",
|
|
468
|
-
"sample deviation": "0.01"
|
|
469
|
-
}
|
|
470
|
-
],
|
|
471
|
-
"testName": "stack"
|
|
472
|
-
},
|
|
473
|
-
"trie": {
|
|
474
|
-
"benchmarks": [
|
|
475
|
-
{
|
|
476
|
-
"test name": "100,000 push",
|
|
477
|
-
"time taken (ms)": "42.99",
|
|
478
|
-
"executions per sec": "23.26",
|
|
479
|
-
"sample deviation": "0.00"
|
|
480
|
-
},
|
|
481
|
-
{
|
|
482
|
-
"test name": "100,000 getWords",
|
|
483
|
-
"time taken (ms)": "89.78",
|
|
484
|
-
"executions per sec": "11.14",
|
|
485
|
-
"sample deviation": "0.00"
|
|
486
|
-
}
|
|
487
|
-
],
|
|
488
|
-
"testName": "trie"
|
|
489
54
|
}
|
|
490
55
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { BST, BSTNode } from './bst';
|
|
9
9
|
import type { AVLTreeNested, AVLTreeNodeNested, AVLTreeOptions, BiTreeDeleteResult, BSTNodeKeyOrNode, BTNodeExemplar } from '../../types';
|
|
10
|
-
import { BTNCallback } from '../../types';
|
|
10
|
+
import { BTNCallback, BTNodeKeyOrNode } from '../../types';
|
|
11
11
|
import { IBinaryTree } from '../../interfaces';
|
|
12
12
|
export declare class AVLTreeNode<K = any, V = any, N extends AVLTreeNode<K, V, N> = AVLTreeNodeNested<K, V>> extends BSTNode<K, V, N> {
|
|
13
13
|
height: number;
|
|
@@ -58,6 +58,13 @@ export declare class AVLTree<K = any, V = any, N extends AVLTreeNode<K, V, N> =
|
|
|
58
58
|
* @returns a boolean value indicating whether the exemplar is an instance of the AVLTreeNode class.
|
|
59
59
|
*/
|
|
60
60
|
isNode(exemplar: BTNodeExemplar<K, V, N>): exemplar is N;
|
|
61
|
+
/**
|
|
62
|
+
* The function "isNotNodeInstance" checks if a potential key is a K.
|
|
63
|
+
* @param {any} potentialKey - The potentialKey parameter is of type any, which means it can be any
|
|
64
|
+
* data type.
|
|
65
|
+
* @returns a boolean value indicating whether the potentialKey is of type number or not.
|
|
66
|
+
*/
|
|
67
|
+
isNotNodeInstance(potentialKey: BTNodeKeyOrNode<K, N>): potentialKey is K;
|
|
61
68
|
/**
|
|
62
69
|
* Time Complexity: O(log n) - logarithmic time, where "n" is the number of nodes in the tree. The add method of the superclass (BST) has logarithmic time complexity.
|
|
63
70
|
* Space Complexity: O(1) - constant space, as it doesn't use additional data structures that scale with input size.
|
|
@@ -71,6 +71,15 @@ class AVLTree extends bst_1.BST {
|
|
|
71
71
|
isNode(exemplar) {
|
|
72
72
|
return exemplar instanceof AVLTreeNode;
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* The function "isNotNodeInstance" checks if a potential key is a K.
|
|
76
|
+
* @param {any} potentialKey - The potentialKey parameter is of type any, which means it can be any
|
|
77
|
+
* data type.
|
|
78
|
+
* @returns a boolean value indicating whether the potentialKey is of type number or not.
|
|
79
|
+
*/
|
|
80
|
+
isNotNodeInstance(potentialKey) {
|
|
81
|
+
return !(potentialKey instanceof AVLTreeNode);
|
|
82
|
+
}
|
|
74
83
|
/**
|
|
75
84
|
* Time Complexity: O(log n) - logarithmic time, where "n" is the number of nodes in the tree. The add method of the superclass (BST) has logarithmic time complexity.
|
|
76
85
|
* Space Complexity: O(1) - constant space, as it doesn't use additional data structures that scale with input size.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avl-tree.js","sourceRoot":"","sources":["../../../../src/data-structures/binary-tree/avl-tree.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"avl-tree.js","sourceRoot":"","sources":["../../../../src/data-structures/binary-tree/avl-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,10 +37,6 @@ export declare class BinaryTreeNode<K = any, V = any, N extends BinaryTreeNode<K
|
|
|
37
37
|
* 3. Depth and Height: Depth is the number of edges from the root to a node; height is the maximum depth in the tree.
|
|
38
38
|
* 4. Subtrees: Each child of a node forms the root of a subtree.
|
|
39
39
|
* 5. Leaf Nodes: Nodes without children are leaves.
|
|
40
|
-
* 6. Internal Nodes: Nodes with at least one child are internal.
|
|
41
|
-
* 7. Balanced Trees: The heights of the left and right subtrees of any node differ by no more than one.
|
|
42
|
-
* 8. Full Trees: Every node has either 0 or 2 children.
|
|
43
|
-
* 9. Complete Trees: All levels are fully filled except possibly the last, filled from left to right.
|
|
44
40
|
*/
|
|
45
41
|
export declare class BinaryTree<K = any, V = any, N extends BinaryTreeNode<K, V, N> = BinaryTreeNode<K, V, BinaryTreeNodeNested<K, V>>, TREE extends BinaryTree<K, V, N, TREE> = BinaryTree<K, V, N, BinaryTreeNested<K, V, N>>> extends IterableEntryBase<K, V | undefined> implements IBinaryTree<K, V, N, TREE> {
|
|
46
42
|
iterationType: IterationType;
|
|
@@ -389,21 +385,21 @@ export declare class BinaryTree<K = any, V = any, N extends BinaryTreeNode<K, V,
|
|
|
389
385
|
* @param {any} node - The parameter `node` is of type `any`, which means it can be any data type.
|
|
390
386
|
* @returns a boolean value.
|
|
391
387
|
*/
|
|
392
|
-
isRealNode(node:
|
|
388
|
+
isRealNode(node: BTNodeExemplar<K, V, N>): node is N;
|
|
393
389
|
/**
|
|
394
390
|
* The function checks if a given node is a BinaryTreeNode instance and has a key value of NaN.
|
|
395
391
|
* @param {any} node - The parameter `node` is of type `any`, which means it can be any data type.
|
|
396
392
|
* @returns a boolean value.
|
|
397
393
|
*/
|
|
398
|
-
isNIL(node:
|
|
394
|
+
isNIL(node: BTNodeExemplar<K, V, N>): boolean;
|
|
399
395
|
/**
|
|
400
396
|
* The function checks if a given node is a real node or null.
|
|
401
397
|
* @param {any} node - The parameter `node` is of type `any`, which means it can be any data type.
|
|
402
398
|
* @returns a boolean value.
|
|
403
399
|
*/
|
|
404
|
-
isNodeOrNull(node:
|
|
400
|
+
isNodeOrNull(node: BTNodeExemplar<K, V, N>): node is N | null;
|
|
405
401
|
/**
|
|
406
|
-
* The function "isNotNodeInstance" checks if a potential key is a
|
|
402
|
+
* The function "isNotNodeInstance" checks if a potential key is a K.
|
|
407
403
|
* @param {any} potentialKey - The potentialKey parameter is of type any, which means it can be any
|
|
408
404
|
* data type.
|
|
409
405
|
* @returns a boolean value indicating whether the potentialKey is of type number or not.
|
|
@@ -427,8 +423,17 @@ export declare class BinaryTree<K = any, V = any, N extends BinaryTreeNode<K, V,
|
|
|
427
423
|
listLevels<C extends BTNCallback<N>>(callback?: C, beginRoot?: BTNodeKeyOrNode<K, N>, iterationType?: IterationType, includeNull?: undefined): ReturnType<C>[][];
|
|
428
424
|
listLevels<C extends BTNCallback<N | null | undefined>>(callback?: C, beginRoot?: BTNodeKeyOrNode<K, N>, iterationType?: IterationType, includeNull?: true): ReturnType<C>[][];
|
|
429
425
|
/**
|
|
430
|
-
* Time
|
|
431
|
-
* Space
|
|
426
|
+
* Time Complexity: O(log n)
|
|
427
|
+
* Space Complexity: O(1)
|
|
428
|
+
*/
|
|
429
|
+
/**
|
|
430
|
+
* Time Complexity: O(log n)
|
|
431
|
+
* Space Complexity: O(1)
|
|
432
|
+
*
|
|
433
|
+
* The function returns the predecessor of a given node in a tree.
|
|
434
|
+
* @param {N} node - The parameter `node` is of type `RedBlackTreeNode`, which represents a node in a
|
|
435
|
+
* tree.
|
|
436
|
+
* @returns the predecessor of the given 'node'.
|
|
432
437
|
*/
|
|
433
438
|
getPredecessor(node: N): N;
|
|
434
439
|
/**
|