data-structure-typed 1.50.7 → 1.50.9

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 (69) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +73 -67
  3. package/benchmark/report.html +1 -37
  4. package/benchmark/report.json +15 -393
  5. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +14 -3
  6. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js +17 -6
  7. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js.map +1 -1
  8. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +1 -1
  9. package/dist/cjs/data-structures/binary-tree/binary-tree.js +33 -34
  10. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
  11. package/dist/cjs/data-structures/binary-tree/bst.d.ts +22 -3
  12. package/dist/cjs/data-structures/binary-tree/bst.js +78 -39
  13. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
  14. package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +5 -5
  15. package/dist/cjs/data-structures/binary-tree/rb-tree.js +47 -50
  16. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
  17. package/dist/cjs/data-structures/binary-tree/tree-multi-map.d.ts +40 -23
  18. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js +44 -28
  19. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js.map +1 -1
  20. package/dist/cjs/data-structures/heap/heap.d.ts +1 -1
  21. package/dist/cjs/data-structures/heap/heap.js +5 -5
  22. package/dist/cjs/types/common.d.ts +6 -29
  23. package/dist/cjs/types/common.js +0 -40
  24. package/dist/cjs/types/common.js.map +1 -1
  25. package/dist/cjs/types/data-structures/binary-tree/rb-tree.d.ts +1 -4
  26. package/dist/cjs/types/data-structures/binary-tree/rb-tree.js +0 -6
  27. package/dist/cjs/types/data-structures/binary-tree/rb-tree.js.map +1 -1
  28. package/dist/mjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +14 -3
  29. package/dist/mjs/data-structures/binary-tree/avl-tree-multi-map.js +17 -6
  30. package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +1 -1
  31. package/dist/mjs/data-structures/binary-tree/binary-tree.js +33 -34
  32. package/dist/mjs/data-structures/binary-tree/bst.d.ts +22 -3
  33. package/dist/mjs/data-structures/binary-tree/bst.js +78 -39
  34. package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +5 -5
  35. package/dist/mjs/data-structures/binary-tree/rb-tree.js +47 -50
  36. package/dist/mjs/data-structures/binary-tree/tree-multi-map.d.ts +40 -23
  37. package/dist/mjs/data-structures/binary-tree/tree-multi-map.js +44 -28
  38. package/dist/mjs/data-structures/heap/heap.d.ts +1 -1
  39. package/dist/mjs/data-structures/heap/heap.js +5 -5
  40. package/dist/mjs/types/common.d.ts +6 -29
  41. package/dist/mjs/types/common.js +1 -39
  42. package/dist/mjs/types/data-structures/binary-tree/rb-tree.d.ts +1 -4
  43. package/dist/mjs/types/data-structures/binary-tree/rb-tree.js +1 -5
  44. package/dist/umd/data-structure-typed.js +212 -206
  45. package/dist/umd/data-structure-typed.min.js +2 -2
  46. package/dist/umd/data-structure-typed.min.js.map +1 -1
  47. package/package.json +6 -6
  48. package/src/data-structures/binary-tree/avl-tree-multi-map.ts +20 -7
  49. package/src/data-structures/binary-tree/binary-tree.ts +54 -45
  50. package/src/data-structures/binary-tree/bst.ts +86 -42
  51. package/src/data-structures/binary-tree/rb-tree.ts +49 -49
  52. package/src/data-structures/binary-tree/tree-multi-map.ts +48 -29
  53. package/src/data-structures/heap/heap.ts +5 -5
  54. package/src/types/common.ts +6 -30
  55. package/src/types/data-structures/binary-tree/rb-tree.ts +1 -1
  56. package/test/integration/all-in-one.test.ts +4 -4
  57. package/test/integration/avl-tree.test.ts +1 -1
  58. package/test/integration/bst.test.ts +2 -2
  59. package/test/performance/data-structures/binary-tree/avl-tree.test.ts +20 -15
  60. package/test/performance/data-structures/binary-tree/binary-tree.test.ts +1 -1
  61. package/test/performance/data-structures/binary-tree/rb-tree.test.ts +13 -22
  62. package/test/unit/data-structures/binary-tree/avl-tree-multi-map.test.ts +15 -23
  63. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +8 -8
  64. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +127 -74
  65. package/test/unit/data-structures/binary-tree/bst.test.ts +20 -20
  66. package/test/unit/data-structures/binary-tree/overall.test.ts +7 -7
  67. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +31 -26
  68. package/test/unit/data-structures/binary-tree/tree-multi-map.test.ts +26 -34
  69. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +3 -3
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.50.7](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
11
+ ## [v1.50.9](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
12
12
 
13
13
  ### Changes
14
14
 
package/README.md CHANGED
@@ -16,8 +16,8 @@
16
16
  ## Why
17
17
 
18
18
  Do you envy C++ with [STL]() (std::), Python with [collections](), and Java with [java.util]() ? Well, no need to envy
19
- anymore! JavaScript and TypeScript now have [data-structure-typed]().**`Benchmark`** compared with C++ STL. *
20
- *`API standards`** aligned with ES6 and Java. **`Usability`** is comparable to Python
19
+ anymore! JavaScript and TypeScript now have [data-structure-typed]().**`Benchmark`** compared with C++ STL.
20
+ **`API standards`** aligned with ES6 and Java. **`Usability`** is comparable to Python
21
21
 
22
22
 
23
23
  [//]: # (![Branches](https://img.shields.io/badge/branches-55.47%25-red.svg?style=flat))
@@ -45,56 +45,56 @@ Performance surpasses that of native JS/TS
45
45
  <th>Time Taken</th>
46
46
  <th>Data Scale</th>
47
47
  <th>Belongs To</th>
48
- <th>Complexity</th>
48
+ <th>big O</th>
49
49
  </tr>
50
50
  </thead>
51
51
  <tbody>
52
52
  <tr>
53
53
  <td>Queue.push &amp; shift</td>
54
54
  <td>5.83 ms</td>
55
- <td>100,000</td>
55
+ <td>100K</td>
56
56
  <td>Ours</td>
57
57
  <td>O(1)</td>
58
58
  </tr>
59
59
  <tr>
60
60
  <td>Array.push &amp; shift</td>
61
61
  <td>2829.59 ms</td>
62
- <td>100,000</td>
62
+ <td>100K</td>
63
63
  <td>Native JS</td>
64
64
  <td>O(n)</td>
65
65
  </tr>
66
66
  <tr>
67
67
  <td>Deque.unshift &amp; shift</td>
68
68
  <td>2.44 ms</td>
69
- <td>100,000</td>
69
+ <td>100K</td>
70
70
  <td>Ours</td>
71
71
  <td>O(1)</td>
72
72
  </tr>
73
73
  <tr>
74
74
  <td>Array.unshift &amp; shift</td>
75
75
  <td>4750.37 ms</td>
76
- <td>100,000</td>
76
+ <td>100K</td>
77
77
  <td>Native JS</td>
78
78
  <td>O(n)</td>
79
79
  </tr>
80
80
  <tr>
81
81
  <td>HashMap.set</td>
82
82
  <td>122.51 ms</td>
83
- <td>1,000,000</td>
83
+ <td>1M</td>
84
84
  <td>Ours</td>
85
85
  <td>O(1)</td>
86
86
  </tr>
87
87
  <tr>
88
88
  <td>Map.set</td>
89
89
  <td>223.80 ms</td>
90
- <td>1,000,000</td>
90
+ <td>1M</td>
91
91
  <td>Native JS</td>
92
92
  <td>O(1)</td>
93
93
  </tr>
94
94
  <tr>
95
95
  <td>Set.add</td>
96
96
  <td>185.06 ms</td>
97
- <td>1,000,000</td>
97
+ <td>1M</td>
98
98
  <td>Native JS</td>
99
99
  <td>O(1)</td>
100
100
  </tr>
@@ -102,7 +102,7 @@ Performance surpasses that of native JS/TS
102
102
  </table>
103
103
 
104
104
  ### Conciseness and uniformity
105
- In Java.utils, you need to memorize a table for all sequential data structures(Queue, Deque, LinkedList),
105
+ In [java.utils](), you need to memorize a table for all sequential data structures(Queue, Deque, LinkedList),
106
106
 
107
107
  <table>
108
108
  <thead>
@@ -141,7 +141,7 @@ In Java.utils, you need to memorize a table for all sequential data structures(Q
141
141
  </tbody>
142
142
  </table>
143
143
 
144
- whereas in our data-structure-typed, you **only** need to remember four methods: `push`, `pop`, `shift`, and `unshift` for all sequential data structures.
144
+ whereas in our [data-structure-typed](), you **only** need to remember four methods: `push`, `pop`, `shift`, and `unshift` for all sequential data structures(Queue, Deque, DoublyLinkedList, SinglyLinkedList and Array).
145
145
 
146
146
  ## Installation and Usage
147
147
 
@@ -667,6 +667,67 @@ Array.from(dijkstraResult?.seen ?? []).map(vertex => vertex.key) // ['A', 'B', '
667
667
  </tbody>
668
668
  </table>
669
669
 
670
+ ## Benchmark
671
+
672
+ MacBook Pro (15-inch, 2018)
673
+
674
+ Processor 2.2 GHz 6-Core Intel Core i7
675
+
676
+ Memory 16 GB 2400 MHz DDR4
677
+
678
+ Graphics Radeon Pro 555X 4 GB
679
+
680
+ Intel UHD Graphics 630 1536 MB
681
+
682
+ macOS Big Sur
683
+
684
+ Version 11.7.9
685
+
686
+
687
+ [//]: # (No deletion!!! Start of Replace Section)
688
+ <div class="json-to-html-collapse clearfix 0">
689
+ <div class='collapsible level0' ><span class='json-to-html-label'>heap</span></div>
690
+ <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>6.58</td><td>152.07</td><td>3.13e-4</td></tr><tr><td>100,000 add & poll</td><td>35.67</td><td>28.03</td><td>0.01</td></tr></table></div>
691
+ </div><div class="json-to-html-collapse clearfix 0">
692
+ <div class='collapsible level0' ><span class='json-to-html-label'>rb-tree</span></div>
693
+ <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>55.91</td><td>17.89</td><td>0.01</td></tr><tr><td>100,000 get</td><td>125.11</td><td>7.99</td><td>0.01</td></tr><tr><td>100,000 iterator</td><td>27.97</td><td>35.76</td><td>0.01</td></tr><tr><td>100,000 add & delete orderly</td><td>125.06</td><td>8.00</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>242.78</td><td>4.12</td><td>0.01</td></tr></table></div>
694
+ </div><div class="json-to-html-collapse clearfix 0">
695
+ <div class='collapsible level0' ><span class='json-to-html-label'>queue</span></div>
696
+ <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>44.81</td><td>22.32</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>4.99</td><td>200.39</td><td>7.40e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2234.97</td><td>0.45</td><td>0.19</td></tr></table></div>
697
+ </div><div class="json-to-html-collapse clearfix 0">
698
+ <div class='collapsible level0' ><span class='json-to-html-label'>deque</span></div>
699
+ <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>24.34</td><td>41.08</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>31.41</td><td>31.83</td><td>0.00</td></tr><tr><td>1,000,000 push & shift</td><td>31.12</td><td>32.13</td><td>0.00</td></tr><tr><td>100,000 push & shift</td><td>3.27</td><td>306.17</td><td>2.62e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2362.95</td><td>0.42</td><td>0.12</td></tr><tr><td>100,000 unshift & shift</td><td>2.89</td><td>345.46</td><td>3.23e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4313.81</td><td>0.23</td><td>0.13</td></tr></table></div>
700
+ </div><div class="json-to-html-collapse clearfix 0">
701
+ <div class='collapsible level0' ><span class='json-to-html-label'>hash-map</span></div>
702
+ <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 set</td><td>118.81</td><td>8.42</td><td>0.02</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>218.24</td><td>4.58</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>180.64</td><td>5.54</td><td>0.03</td></tr><tr><td>1,000,000 set & get</td><td>121.23</td><td>8.25</td><td>0.01</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>273.71</td><td>3.65</td><td>0.01</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>173.69</td><td>5.76</td><td>0.01</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>331.89</td><td>3.01</td><td>0.04</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>331.49</td><td>3.02</td><td>0.05</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>308.15</td><td>3.25</td><td>0.04</td></tr></table></div>
703
+ </div><div class="json-to-html-collapse clearfix 0">
704
+ <div class='collapsible level0' ><span class='json-to-html-label'>trie</span></div>
705
+ <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>58.78</td><td>17.01</td><td>0.02</td></tr><tr><td>100,000 getWords</td><td>95.99</td><td>10.42</td><td>0.01</td></tr></table></div>
706
+ </div><div class="json-to-html-collapse clearfix 0">
707
+ <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
708
+ <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>50.17</td><td>19.93</td><td>0.01</td></tr><tr><td>10,000 get</td><td>20.86</td><td>47.94</td><td>0.00</td></tr><tr><td>10,000 add & delete randomly</td><td>79.18</td><td>12.63</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>52.92</td><td>18.90</td><td>0.00</td></tr></table></div>
709
+ </div><div class="json-to-html-collapse clearfix 0">
710
+ <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree-overall</span></div>
711
+ <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 RBTree add</td><td>5.69</td><td>175.82</td><td>5.70e-4</td></tr><tr><td>10,000 RBTree add & delete randomly</td><td>19.94</td><td>50.16</td><td>0.00</td></tr><tr><td>10,000 RBTree get</td><td>0.65</td><td>1543.77</td><td>1.81e-5</td></tr><tr><td>10,000 AVLTree add</td><td>44.46</td><td>22.49</td><td>0.00</td></tr><tr><td>10,000 AVLTree get</td><td>20.07</td><td>49.84</td><td>0.00</td></tr><tr><td>10,000 AVLTree add & delete randomly</td><td>77.29</td><td>12.94</td><td>0.01</td></tr></table></div>
712
+ </div><div class="json-to-html-collapse clearfix 0">
713
+ <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
714
+ <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.10</td><td>9883.75</td><td>9.48e-7</td></tr><tr><td>1,000 addEdge</td><td>6.05</td><td>165.15</td><td>1.08e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.15e+4</td><td>5.74e-7</td></tr><tr><td>1,000 getEdge</td><td>23.58</td><td>42.41</td><td>0.00</td></tr><tr><td>tarjan</td><td>208.84</td><td>4.79</td><td>0.01</td></tr><tr><td>topologicalSort</td><td>180.27</td><td>5.55</td><td>0.00</td></tr></table></div>
715
+ </div><div class="json-to-html-collapse clearfix 0">
716
+ <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</span></div>
717
+ <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>208.91</td><td>4.79</td><td>0.07</td></tr><tr><td>1,000,000 unshift</td><td>202.73</td><td>4.93</td><td>0.03</td></tr><tr><td>1,000,000 unshift & shift</td><td>182.70</td><td>5.47</td><td>0.06</td></tr><tr><td>1,000,000 addBefore</td><td>314.16</td><td>3.18</td><td>0.06</td></tr></table></div>
718
+ </div><div class="json-to-html-collapse clearfix 0">
719
+ <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</span></div>
720
+ <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 & shift</td><td>207.94</td><td>4.81</td><td>0.05</td></tr><tr><td>10,000 push & pop</td><td>216.07</td><td>4.63</td><td>0.01</td></tr><tr><td>10,000 addBefore</td><td>246.19</td><td>4.06</td><td>0.00</td></tr></table></div>
721
+ </div><div class="json-to-html-collapse clearfix 0">
722
+ <div class='collapsible level0' ><span class='json-to-html-label'>priority-queue</span></div>
723
+ <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>27.00</td><td>37.04</td><td>2.43e-4</td></tr><tr><td>100,000 add & poll</td><td>77.16</td><td>12.96</td><td>0.00</td></tr></table></div>
724
+ </div><div class="json-to-html-collapse clearfix 0">
725
+ <div class='collapsible level0' ><span class='json-to-html-label'>stack</span></div>
726
+ <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>39.29</td><td>25.45</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>48.05</td><td>20.81</td><td>0.00</td></tr></table></div>
727
+ </div>
728
+
729
+ [//]: # (No deletion!!! End of Replace Section)
730
+
670
731
  ## The corresponding relationships between data structures in different language standard libraries.
671
732
 
672
733
  <table style="display: table; width:100%; table-layout: fixed;">
@@ -982,61 +1043,6 @@ concurrently.
982
1043
  </tr>
983
1044
  </table>
984
1045
 
985
- ## Benchmark
986
-
987
- macOS Big Sur
988
- Version 11.7.9
989
-
990
- MacBook Pro (15-inch, 2018)
991
- Processor 2.2 GHz 6-Core Intel Core i7
992
- Memory 16 GB 2400 MHz DDR4
993
- Graphics Radeon Pro 555X 4 GB
994
- Intel UHD Graphics 630 1536 MB
995
-
996
- [//]: # (No deletion!!! Start of Replace Section)
997
- <div class="json-to-html-collapse clearfix 0">
998
- <div class='collapsible level0' ><span class='json-to-html-label'>heap</span></div>
999
- <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>6.34</td><td>157.68</td><td>1.57e-4</td></tr><tr><td>100,000 add & poll</td><td>31.54</td><td>31.70</td><td>9.20e-4</td></tr></table></div>
1000
- </div><div class="json-to-html-collapse clearfix 0">
1001
- <div class='collapsible level0' ><span class='json-to-html-label'>rb-tree</span></div>
1002
- <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 orderly</td><td>57.90</td><td>17.27</td><td>0.00</td></tr><tr><td>100,000 delete orderly</td><td>10.65</td><td>93.90</td><td>9.11e-5</td></tr><tr><td>100,000 add randomly</td><td>114.65</td><td>8.72</td><td>0.00</td></tr><tr><td>100,000 delete randomly</td><td>10.24</td><td>97.62</td><td>5.53e-5</td></tr><tr><td>100,000 add orderly</td><td>58.51</td><td>17.09</td><td>0.00</td></tr><tr><td>100,000 delete randomly</td><td>10.25</td><td>97.56</td><td>6.25e-5</td></tr><tr><td>100,000 getNode randomly</td><td>9.53</td><td>104.98</td><td>6.20e-5</td></tr><tr><td>100,000 add & iterator</td><td>146.46</td><td>6.83</td><td>0.02</td></tr></table></div>
1003
- </div><div class="json-to-html-collapse clearfix 0">
1004
- <div class='collapsible level0' ><span class='json-to-html-label'>queue</span></div>
1005
- <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>41.59</td><td>24.05</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>4.54</td><td>220.29</td><td>1.10e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2243.54</td><td>0.45</td><td>0.10</td></tr></table></div>
1006
- </div><div class="json-to-html-collapse clearfix 0">
1007
- <div class='collapsible level0' ><span class='json-to-html-label'>deque</span></div>
1008
- <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>23.20</td><td>43.10</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>30.14</td><td>33.18</td><td>0.00</td></tr><tr><td>1,000,000 push & shift</td><td>29.94</td><td>33.40</td><td>0.00</td></tr><tr><td>100,000 push & shift</td><td>3.18</td><td>314.70</td><td>3.27e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2238.52</td><td>0.45</td><td>0.09</td></tr><tr><td>100,000 unshift & shift</td><td>2.85</td><td>350.27</td><td>2.85e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4149.34</td><td>0.24</td><td>0.10</td></tr></table></div>
1009
- </div><div class="json-to-html-collapse clearfix 0">
1010
- <div class='collapsible level0' ><span class='json-to-html-label'>hash-map</span></div>
1011
- <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 set</td><td>113.24</td><td>8.83</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>205.14</td><td>4.87</td><td>0.00</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>174.38</td><td>5.73</td><td>0.01</td></tr><tr><td>1,000,000 set & get</td><td>114.96</td><td>8.70</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>267.57</td><td>3.74</td><td>0.00</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>172.94</td><td>5.78</td><td>0.01</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>327.38</td><td>3.05</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>297.64</td><td>3.36</td><td>0.03</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>263.30</td><td>3.80</td><td>0.04</td></tr></table></div>
1012
- </div><div class="json-to-html-collapse clearfix 0">
1013
- <div class='collapsible level0' ><span class='json-to-html-label'>trie</span></div>
1014
- <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>43.65</td><td>22.91</td><td>0.00</td></tr><tr><td>100,000 getWords</td><td>82.64</td><td>12.10</td><td>0.00</td></tr></table></div>
1015
- </div><div class="json-to-html-collapse clearfix 0">
1016
- <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
1017
- <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>133.02</td><td>7.52</td><td>0.00</td></tr><tr><td>10,000 get</td><td>61.42</td><td>16.28</td><td>5.07e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>204.19</td><td>4.90</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>142.69</td><td>7.01</td><td>0.00</td></tr></table></div>
1018
- </div><div class="json-to-html-collapse clearfix 0">
1019
- <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree-overall</span></div>
1020
- <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 RBTree add</td><td>9.28</td><td>107.79</td><td>1.15e-4</td></tr><tr><td>10,000 RBTree add & delete randomly</td><td>60.56</td><td>16.51</td><td>6.63e-4</td></tr><tr><td>10,000 RBTree get</td><td>1.11</td><td>902.48</td><td>8.41e-6</td></tr><tr><td>10,000 AVLTree add</td><td>134.17</td><td>7.45</td><td>0.01</td></tr><tr><td>10,000 AVLTree get</td><td>60.97</td><td>16.40</td><td>4.05e-4</td></tr><tr><td>10,000 AVLTree add & delete randomly</td><td>201.72</td><td>4.96</td><td>0.00</td></tr></table></div>
1021
- </div><div class="json-to-html-collapse clearfix 0">
1022
- <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
1023
- <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.10</td><td>1.00e+4</td><td>7.24e-7</td></tr><tr><td>1,000 addEdge</td><td>6.20</td><td>161.25</td><td>8.47e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.17e+4</td><td>3.59e-7</td></tr><tr><td>1,000 getEdge</td><td>22.60</td><td>44.24</td><td>0.00</td></tr><tr><td>tarjan</td><td>207.15</td><td>4.83</td><td>0.02</td></tr><tr><td>topologicalSort</td><td>175.86</td><td>5.69</td><td>0.00</td></tr></table></div>
1024
- </div><div class="json-to-html-collapse clearfix 0">
1025
- <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</span></div>
1026
- <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>235.16</td><td>4.25</td><td>0.06</td></tr><tr><td>1,000,000 unshift</td><td>225.37</td><td>4.44</td><td>0.04</td></tr><tr><td>1,000,000 unshift & shift</td><td>170.75</td><td>5.86</td><td>0.03</td></tr><tr><td>1,000,000 addBefore</td><td>324.45</td><td>3.08</td><td>0.07</td></tr></table></div>
1027
- </div><div class="json-to-html-collapse clearfix 0">
1028
- <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</span></div>
1029
- <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 & shift</td><td>215.08</td><td>4.65</td><td>0.07</td></tr><tr><td>10,000 push & pop</td><td>212.54</td><td>4.71</td><td>0.01</td></tr><tr><td>10,000 addBefore</td><td>250.10</td><td>4.00</td><td>0.01</td></tr></table></div>
1030
- </div><div class="json-to-html-collapse clearfix 0">
1031
- <div class='collapsible level0' ><span class='json-to-html-label'>priority-queue</span></div>
1032
- <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>26.71</td><td>37.44</td><td>2.40e-4</td></tr><tr><td>100,000 add & poll</td><td>74.78</td><td>13.37</td><td>5.52e-4</td></tr></table></div>
1033
- </div><div class="json-to-html-collapse clearfix 0">
1034
- <div class='collapsible level0' ><span class='json-to-html-label'>stack</span></div>
1035
- <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>37.19</td><td>26.89</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>46.11</td><td>21.69</td><td>0.00</td></tr></table></div>
1036
- </div>
1037
-
1038
- [//]: # (No deletion!!! End of Replace Section)
1039
-
1040
1046
  ## supported module system
1041
1047
 
1042
1048
  Now you can use it in Node.js and browser environments
@@ -42,44 +42,8 @@
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'>heap</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>100,000 add</td><td>6.34</td><td>157.68</td><td>1.57e-4</td></tr><tr><td>100,000 add & poll</td><td>31.54</td><td>31.70</td><td>9.20e-4</td></tr></table></div>
47
- </div><div class="json-to-html-collapse clearfix 0">
48
- <div class='collapsible level0' ><span class='json-to-html-label'>rb-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>100,000 add orderly</td><td>57.90</td><td>17.27</td><td>0.00</td></tr><tr><td>100,000 delete orderly</td><td>10.65</td><td>93.90</td><td>9.11e-5</td></tr><tr><td>100,000 add randomly</td><td>114.65</td><td>8.72</td><td>0.00</td></tr><tr><td>100,000 delete randomly</td><td>10.24</td><td>97.62</td><td>5.53e-5</td></tr><tr><td>100,000 add orderly</td><td>58.51</td><td>17.09</td><td>0.00</td></tr><tr><td>100,000 delete randomly</td><td>10.25</td><td>97.56</td><td>6.25e-5</td></tr><tr><td>100,000 getNode randomly</td><td>9.53</td><td>104.98</td><td>6.20e-5</td></tr><tr><td>100,000 add & iterator</td><td>146.46</td><td>6.83</td><td>0.02</td></tr></table></div>
50
- </div><div class="json-to-html-collapse clearfix 0">
51
- <div class='collapsible level0' ><span class='json-to-html-label'>queue</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>1,000,000 push</td><td>41.59</td><td>24.05</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>4.54</td><td>220.29</td><td>1.10e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2243.54</td><td>0.45</td><td>0.10</td></tr></table></div>
53
- </div><div class="json-to-html-collapse clearfix 0">
54
- <div class='collapsible level0' ><span class='json-to-html-label'>deque</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>1,000,000 push</td><td>23.20</td><td>43.10</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>30.14</td><td>33.18</td><td>0.00</td></tr><tr><td>1,000,000 push & shift</td><td>29.94</td><td>33.40</td><td>0.00</td></tr><tr><td>100,000 push & shift</td><td>3.18</td><td>314.70</td><td>3.27e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2238.52</td><td>0.45</td><td>0.09</td></tr><tr><td>100,000 unshift & shift</td><td>2.85</td><td>350.27</td><td>2.85e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4149.34</td><td>0.24</td><td>0.10</td></tr></table></div>
56
- </div><div class="json-to-html-collapse clearfix 0">
57
- <div class='collapsible level0' ><span class='json-to-html-label'>hash-map</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,000 set</td><td>113.24</td><td>8.83</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>205.14</td><td>4.87</td><td>0.00</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>174.38</td><td>5.73</td><td>0.01</td></tr><tr><td>1,000,000 set & get</td><td>114.96</td><td>8.70</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>267.57</td><td>3.74</td><td>0.00</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>172.94</td><td>5.78</td><td>0.01</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>327.38</td><td>3.05</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>297.64</td><td>3.36</td><td>0.03</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>263.30</td><td>3.80</td><td>0.04</td></tr></table></div>
59
- </div><div class="json-to-html-collapse clearfix 0">
60
- <div class='collapsible level0' ><span class='json-to-html-label'>trie</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>100,000 push</td><td>43.65</td><td>22.91</td><td>0.00</td></tr><tr><td>100,000 getWords</td><td>82.64</td><td>12.10</td><td>0.00</td></tr></table></div>
62
- </div><div class="json-to-html-collapse clearfix 0">
63
45
  <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</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 randomly</td><td>133.02</td><td>7.52</td><td>0.00</td></tr><tr><td>10,000 get</td><td>61.42</td><td>16.28</td><td>5.07e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>204.19</td><td>4.90</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>142.69</td><td>7.01</td><td>0.00</td></tr></table></div>
65
- </div><div class="json-to-html-collapse clearfix 0">
66
- <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree-overall</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>10,000 RBTree add</td><td>9.28</td><td>107.79</td><td>1.15e-4</td></tr><tr><td>10,000 RBTree add & delete randomly</td><td>60.56</td><td>16.51</td><td>6.63e-4</td></tr><tr><td>10,000 RBTree get</td><td>1.11</td><td>902.48</td><td>8.41e-6</td></tr><tr><td>10,000 AVLTree add</td><td>134.17</td><td>7.45</td><td>0.01</td></tr><tr><td>10,000 AVLTree get</td><td>60.97</td><td>16.40</td><td>4.05e-4</td></tr><tr><td>10,000 AVLTree add & delete randomly</td><td>201.72</td><td>4.96</td><td>0.00</td></tr></table></div>
68
- </div><div class="json-to-html-collapse clearfix 0">
69
- <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</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>1,000 addVertex</td><td>0.10</td><td>1.00e+4</td><td>7.24e-7</td></tr><tr><td>1,000 addEdge</td><td>6.20</td><td>161.25</td><td>8.47e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.17e+4</td><td>3.59e-7</td></tr><tr><td>1,000 getEdge</td><td>22.60</td><td>44.24</td><td>0.00</td></tr><tr><td>tarjan</td><td>207.15</td><td>4.83</td><td>0.02</td></tr><tr><td>topologicalSort</td><td>175.86</td><td>5.69</td><td>0.00</td></tr></table></div>
71
- </div><div class="json-to-html-collapse clearfix 0">
72
- <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</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>1,000,000 push</td><td>235.16</td><td>4.25</td><td>0.06</td></tr><tr><td>1,000,000 unshift</td><td>225.37</td><td>4.44</td><td>0.04</td></tr><tr><td>1,000,000 unshift & shift</td><td>170.75</td><td>5.86</td><td>0.03</td></tr><tr><td>1,000,000 addBefore</td><td>324.45</td><td>3.08</td><td>0.07</td></tr></table></div>
74
- </div><div class="json-to-html-collapse clearfix 0">
75
- <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</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>1,000,000 push & shift</td><td>215.08</td><td>4.65</td><td>0.07</td></tr><tr><td>10,000 push & pop</td><td>212.54</td><td>4.71</td><td>0.01</td></tr><tr><td>10,000 addBefore</td><td>250.10</td><td>4.00</td><td>0.01</td></tr></table></div>
77
- </div><div class="json-to-html-collapse clearfix 0">
78
- <div class='collapsible level0' ><span class='json-to-html-label'>priority-queue</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>100,000 add</td><td>26.71</td><td>37.44</td><td>2.40e-4</td></tr><tr><td>100,000 add & poll</td><td>74.78</td><td>13.37</td><td>5.52e-4</td></tr></table></div>
80
- </div><div class="json-to-html-collapse clearfix 0">
81
- <div class='collapsible level0' ><span class='json-to-html-label'>stack</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>37.19</td><td>26.89</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>46.11</td><td>21.69</td><td>0.00</td></tr></table></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>100,000 add</td><td>459.43</td><td>2.18</td><td>0.00</td></tr><tr><td>100,000 get</td><td>319.24</td><td>3.13</td><td>0.00</td></tr><tr><td>100,000 iterator</td><td>31.27</td><td>31.98</td><td>0.00</td></tr><tr><td>100,000 add & delete orderly</td><td>711.71</td><td>1.41</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>1082.68</td><td>0.92</td><td>0.09</td></tr></table></div>
83
47
  </div>
84
48
 
85
49
  </div>