data-structure-typed 1.43.1 → 1.43.3
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/.eslintrc.js +3 -1
- package/CHANGELOG.md +1 -1
- package/README.md +7 -0
- package/benchmark/report.html +30 -30
- package/benchmark/report.json +201 -147
- package/dist/cjs/src/data-structures/binary-tree/avl-tree.js.map +1 -1
- package/dist/cjs/src/data-structures/binary-tree/binary-tree.d.ts +8 -8
- package/dist/cjs/src/data-structures/binary-tree/binary-tree.js +62 -62
- package/dist/cjs/src/data-structures/binary-tree/binary-tree.js.map +1 -1
- package/dist/cjs/src/data-structures/binary-tree/bst.js.map +1 -1
- package/dist/cjs/src/data-structures/binary-tree/rb-tree.d.ts +4 -4
- package/dist/cjs/src/data-structures/binary-tree/rb-tree.js +1 -1
- package/dist/cjs/src/data-structures/binary-tree/rb-tree.js.map +1 -1
- package/dist/cjs/src/data-structures/binary-tree/tree-multimap.d.ts +24 -24
- package/dist/cjs/src/data-structures/binary-tree/tree-multimap.js +50 -50
- package/dist/cjs/src/data-structures/binary-tree/tree-multimap.js.map +1 -1
- package/dist/cjs/src/data-structures/graph/abstract-graph.d.ts +37 -37
- package/dist/cjs/src/data-structures/graph/abstract-graph.js +37 -37
- package/dist/cjs/src/data-structures/graph/abstract-graph.js.map +1 -1
- package/dist/cjs/src/data-structures/graph/directed-graph.js.map +1 -1
- package/dist/cjs/src/data-structures/graph/map-graph.js.map +1 -1
- package/dist/cjs/src/data-structures/graph/undirected-graph.js.map +1 -1
- package/dist/cjs/src/data-structures/heap/heap.js.map +1 -1
- package/dist/cjs/src/interfaces/binary-tree.d.ts +1 -1
- package/dist/mjs/src/data-structures/binary-tree/binary-tree.d.ts +8 -8
- package/dist/mjs/src/data-structures/binary-tree/binary-tree.js +62 -62
- package/dist/mjs/src/data-structures/binary-tree/rb-tree.d.ts +4 -4
- package/dist/mjs/src/data-structures/binary-tree/rb-tree.js +1 -1
- package/dist/mjs/src/data-structures/binary-tree/tree-multimap.d.ts +24 -24
- package/dist/mjs/src/data-structures/binary-tree/tree-multimap.js +50 -50
- package/dist/mjs/src/data-structures/graph/abstract-graph.d.ts +37 -37
- package/dist/mjs/src/data-structures/graph/abstract-graph.js +37 -37
- package/dist/mjs/src/interfaces/binary-tree.d.ts +1 -1
- package/dist/umd/data-structure-typed.js +10497 -0
- package/dist/umd/data-structure-typed.min.js +1 -1
- 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 +2 -3
- package/src/data-structures/binary-tree/binary-tree.ts +85 -92
- package/src/data-structures/binary-tree/bst.ts +14 -22
- package/src/data-structures/binary-tree/rb-tree.ts +11 -20
- package/src/data-structures/binary-tree/tree-multimap.ts +56 -58
- package/src/data-structures/graph/abstract-graph.ts +6 -22
- package/src/data-structures/graph/directed-graph.ts +3 -9
- package/src/data-structures/graph/map-graph.ts +6 -6
- package/src/data-structures/graph/undirected-graph.ts +1 -2
- package/src/data-structures/heap/heap.ts +1 -6
- package/src/data-structures/trie/trie.ts +1 -1
- package/src/interfaces/binary-tree.ts +1 -1
- package/src/types/utils/validate-type.ts +2 -16
- package/test/integration/index.html +50 -4
- package/test/performance/data-structures/binary-tree/rb-tree.test.ts +18 -19
- package/test/performance/data-structures/hash/hash-map.test.ts +10 -13
- package/test/performance/data-structures/linked-list/doubly-linked-list.test.ts +16 -16
- package/test/performance/data-structures/priority-queue/max-priority-queue.test.ts +1 -3
- package/test/performance/data-structures/priority-queue/priority-queue.test.ts +10 -12
- package/test/performance/data-structures/queue/deque.test.ts +18 -19
- package/test/performance/data-structures/queue/queue.test.ts +18 -19
- package/test/performance/data-structures/stack/stack.test.ts +10 -11
- package/test/performance/reportor.ts +4 -5
- package/test/unit/data-structures/binary-tree/avl-tree.test.ts +0 -1
- package/test/unit/data-structures/binary-tree/binary-tree.test.ts +83 -61
- package/test/unit/data-structures/binary-tree/bst.test.ts +2 -6
- package/test/unit/data-structures/binary-tree/rb-tree.test.ts +34 -25
- package/test/unit/data-structures/graph/abstract-graph.test.ts +6 -6
- package/test/unit/data-structures/graph/directed-graph.test.ts +8 -28
- package/test/unit/data-structures/heap/heap.test.ts +1 -8
- package/test/unit/data-structures/priority-queue/priority-queue.test.ts +34 -12
- package/test/utils/json2html.ts +2 -6
- package/tsup.config.js +19 -1
package/.eslintrc.js
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -8,7 +8,7 @@ All notable changes to this project will be documented in this file.
|
|
|
8
8
|
- [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
|
9
9
|
- [`auto-changelog`](https://github.com/CookPete/auto-changelog)
|
|
10
10
|
|
|
11
|
-
## [v1.43.
|
|
11
|
+
## [v1.43.3](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
|
|
12
12
|
|
|
13
13
|
### Changes
|
|
14
14
|
|
package/README.md
CHANGED
|
@@ -50,6 +50,13 @@ import {
|
|
|
50
50
|
### CDN
|
|
51
51
|
|
|
52
52
|
Copy the line below into the head tag in an HTML document.
|
|
53
|
+
|
|
54
|
+
#### development
|
|
55
|
+
```html
|
|
56
|
+
<script src='https://cdn.jsdelivr.net/npm/data-structure-typed/dist/umd/data-structure-typed.js'></script>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
#### production
|
|
53
60
|
```html
|
|
54
61
|
<script src='https://cdn.jsdelivr.net/npm/data-structure-typed/dist/umd/data-structure-typed.min.js'></script>
|
|
55
62
|
```
|
package/benchmark/report.html
CHANGED
|
@@ -42,50 +42,50 @@
|
|
|
42
42
|
</head>
|
|
43
43
|
<body>
|
|
44
44
|
<div id="json-to-html"><div class="json-to-html-collapse clearfix 0">
|
|
45
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
|
|
46
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>35
|
|
45
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>avl-tree.test.js</span></div>
|
|
46
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>31.35</td><td>31.90</td><td>6.69e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>70.29</td><td>14.23</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>40.95</td><td>24.42</td><td>0.00</td></tr><tr><td>10,000 get</td><td>27.36</td><td>36.55</td><td>3.94e-4</td></tr></table></div>
|
|
47
47
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
48
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>binary-tree</span></div>
|
|
49
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 add randomly</td><td>
|
|
48
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>binary-tree.test.js</span></div>
|
|
49
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 add randomly</td><td>12.12</td><td>82.53</td><td>1.47e-4</td></tr><tr><td>1,000 add & delete randomly</td><td>15.54</td><td>64.34</td><td>2.16e-4</td></tr><tr><td>1,000 addMany</td><td>10.15</td><td>98.55</td><td>2.30e-4</td></tr><tr><td>1,000 get</td><td>17.87</td><td>55.95</td><td>1.46e-4</td></tr><tr><td>1,000 dfs</td><td>154.81</td><td>6.46</td><td>0.00</td></tr><tr><td>1,000 bfs</td><td>55.20</td><td>18.11</td><td>1.82e-4</td></tr><tr><td>1,000 morris</td><td>260.41</td><td>3.84</td><td>5.23e-4</td></tr></table></div>
|
|
50
50
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
51
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>bst</span></div>
|
|
52
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>
|
|
51
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>bst.test.js</span></div>
|
|
52
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>30.32</td><td>32.98</td><td>2.49e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>71.51</td><td>13.98</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>28.90</td><td>34.60</td><td>0.00</td></tr><tr><td>10,000 get</td><td>27.75</td><td>36.04</td><td>6.92e-4</td></tr></table></div>
|
|
53
53
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
54
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>rb-tree</span></div>
|
|
55
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>
|
|
54
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>rb-tree.test.js</span></div>
|
|
55
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>86.45</td><td>11.57</td><td>0.00</td></tr><tr><td>100,000 competitor add</td><td>46.78</td><td>21.38</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>219.22</td><td>4.56</td><td>0.01</td></tr><tr><td>100,000 getNode</td><td>37.83</td><td>26.43</td><td>6.20e-4</td></tr></table></div>
|
|
56
56
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
57
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
|
|
58
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.11</td><td>
|
|
57
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>directed-graph.test.js</span></div>
|
|
58
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.11</td><td>9232.27</td><td>3.15e-5</td></tr><tr><td>1,000 addEdge</td><td>6.54</td><td>152.80</td><td>8.60e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.16e+4</td><td>3.45e-7</td></tr><tr><td>1,000 getEdge</td><td>22.17</td><td>45.10</td><td>0.00</td></tr><tr><td>tarjan</td><td>211.64</td><td>4.72</td><td>0.01</td></tr><tr><td>tarjan all</td><td>209.87</td><td>4.76</td><td>0.00</td></tr><tr><td>topologicalSort</td><td>170.27</td><td>5.87</td><td>0.00</td></tr></table></div>
|
|
59
59
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
60
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>hash-map</span></div>
|
|
61
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 set</td><td>
|
|
60
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>hash-map.test.js</span></div>
|
|
61
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 set</td><td>16.01</td><td>62.47</td><td>0.00</td></tr><tr><td>10,000 competitor set</td><td>0.57</td><td>1748.11</td><td>1.49e-5</td></tr><tr><td>10,000 set & get</td><td>34.39</td><td>29.08</td><td>4.42e-4</td></tr><tr><td>10,000 competitor set & get</td><td>0.67</td><td>1488.07</td><td>3.39e-5</td></tr></table></div>
|
|
62
62
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
63
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>heap</span></div>
|
|
64
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add & pop</td><td>4.
|
|
63
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>heap.test.js</span></div>
|
|
64
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add & pop</td><td>4.67</td><td>213.95</td><td>2.17e-4</td></tr><tr><td>10,000 fib add & pop</td><td>352.78</td><td>2.83</td><td>0.01</td></tr></table></div>
|
|
65
65
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
66
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</span></div>
|
|
67
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 unshift</td><td>
|
|
66
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list.test.js</span></div>
|
|
67
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 unshift</td><td>230.25</td><td>4.34</td><td>0.03</td></tr><tr><td>1,000,000 competitor unshift</td><td>82.22</td><td>12.16</td><td>0.02</td></tr><tr><td>1,000,000 unshift & shift</td><td>166.38</td><td>6.01</td><td>0.02</td></tr><tr><td>1,000,000 insertBefore</td><td>319.13</td><td>3.13</td><td>0.07</td></tr></table></div>
|
|
68
68
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
69
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</span></div>
|
|
70
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 push & pop</td><td>
|
|
69
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list.test.js</span></div>
|
|
70
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 push & pop</td><td>222.94</td><td>4.49</td><td>0.02</td></tr><tr><td>10,000 insertBefore</td><td>249.12</td><td>4.01</td><td>0.01</td></tr></table></div>
|
|
71
71
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
72
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>max-priority-queue</span></div>
|
|
73
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 refill & poll</td><td>11.
|
|
72
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>max-priority-queue.test.js</span></div>
|
|
73
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 refill & poll</td><td>11.37</td><td>87.97</td><td>1.21e-4</td></tr></table></div>
|
|
74
74
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
75
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>priority-queue</span></div>
|
|
76
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add & pop</td><td>12.
|
|
75
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>priority-queue.test.js</span></div>
|
|
76
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add & pop</td><td>12.37</td><td>80.85</td><td>6.48e-5</td></tr><tr><td>10,000 competitor add & pop</td><td>2.13</td><td>468.67</td><td>6.91e-5</td></tr></table></div>
|
|
77
77
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
78
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>deque</span></div>
|
|
79
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>
|
|
78
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>deque.test.js</span></div>
|
|
79
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>207.83</td><td>4.81</td><td>0.03</td></tr><tr><td>1,000,000 competitor push</td><td>14.45</td><td>69.20</td><td>1.19e-4</td></tr><tr><td>1,000,000 shift</td><td>24.73</td><td>40.43</td><td>0.00</td></tr></table></div>
|
|
80
80
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
81
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>queue</span></div>
|
|
82
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>
|
|
81
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>queue.test.js</span></div>
|
|
82
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>43.17</td><td>23.16</td><td>0.01</td></tr><tr><td>1,000,000 competitor push</td><td>47.17</td><td>21.20</td><td>0.01</td></tr><tr><td>1,000,000 push & shift</td><td>79.55</td><td>12.57</td><td>7.42e-4</td></tr></table></div>
|
|
83
83
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
84
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>stack</span></div>
|
|
85
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>43.
|
|
84
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>stack.test.js</span></div>
|
|
85
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>43.39</td><td>23.05</td><td>0.01</td></tr><tr><td>1,000,000 competitor push</td><td>43.04</td><td>23.23</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>50.18</td><td>19.93</td><td>0.01</td></tr><tr><td>1,000,000 competitor push & pop</td><td>49.06</td><td>20.38</td><td>0.00</td></tr></table></div>
|
|
86
86
|
</div><div class="json-to-html-collapse clearfix 0">
|
|
87
|
-
<div class='collapsible level0' ><span class='json-to-html-label'>trie</span></div>
|
|
88
|
-
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 push</td><td>
|
|
87
|
+
<div class='collapsible level0' ><span class='json-to-html-label'>trie.test.js</span></div>
|
|
88
|
+
<div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 push</td><td>42.19</td><td>23.70</td><td>6.72e-4</td></tr><tr><td>100,000 getWords</td><td>95.42</td><td>10.48</td><td>0.00</td></tr></table></div>
|
|
89
89
|
</div>
|
|
90
90
|
|
|
91
91
|
</div>
|