data-structure-typed 1.50.5 → 1.50.7

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 (47) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +13 -18
  3. package/benchmark/report.html +13 -13
  4. package/benchmark/report.json +167 -143
  5. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +1 -0
  6. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js +3 -0
  7. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js.map +1 -1
  8. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -1
  9. package/dist/cjs/data-structures/binary-tree/binary-tree.js +32 -28
  10. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
  11. package/dist/cjs/data-structures/binary-tree/bst.js +17 -17
  12. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
  13. package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +158 -141
  14. package/dist/cjs/data-structures/binary-tree/rb-tree.js +416 -396
  15. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
  16. package/dist/cjs/data-structures/binary-tree/tree-multi-map.d.ts +1 -0
  17. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js +84 -76
  18. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js.map +1 -1
  19. package/dist/cjs/types/common.d.ts +6 -0
  20. package/dist/cjs/types/common.js +8 -1
  21. package/dist/cjs/types/common.js.map +1 -1
  22. package/dist/mjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +1 -0
  23. package/dist/mjs/data-structures/binary-tree/avl-tree-multi-map.js +3 -0
  24. package/dist/mjs/data-structures/binary-tree/binary-tree.js +32 -28
  25. package/dist/mjs/data-structures/binary-tree/bst.js +17 -17
  26. package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +158 -141
  27. package/dist/mjs/data-structures/binary-tree/rb-tree.js +413 -396
  28. package/dist/mjs/data-structures/binary-tree/tree-multi-map.d.ts +1 -0
  29. package/dist/mjs/data-structures/binary-tree/tree-multi-map.js +84 -76
  30. package/dist/mjs/types/common.d.ts +6 -0
  31. package/dist/mjs/types/common.js +7 -0
  32. package/dist/umd/data-structure-typed.js +519 -467
  33. package/dist/umd/data-structure-typed.min.js +2 -2
  34. package/dist/umd/data-structure-typed.min.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/data-structures/binary-tree/avl-tree-multi-map.ts +5 -1
  37. package/src/data-structures/binary-tree/avl-tree.ts +1 -1
  38. package/src/data-structures/binary-tree/binary-tree.ts +31 -29
  39. package/src/data-structures/binary-tree/bst.ts +18 -18
  40. package/src/data-structures/binary-tree/rb-tree.ts +436 -405
  41. package/src/data-structures/binary-tree/tree-multi-map.ts +85 -82
  42. package/src/types/common.ts +7 -0
  43. package/test/performance/data-structures/binary-tree/rb-tree.test.ts +26 -16
  44. package/test/unit/data-structures/binary-tree/avl-tree-multi-map.test.ts +4 -1
  45. package/test/unit/data-structures/binary-tree/overall.test.ts +23 -21
  46. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +387 -324
  47. package/test/unit/data-structures/binary-tree/tree-multi-map.test.ts +335 -204
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.5](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
11
+ ## [v1.50.7](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
12
12
 
13
13
  ### Changes
14
14
 
package/README.md CHANGED
@@ -107,7 +107,6 @@ In Java.utils, you need to memorize a table for all sequential data structures(Q
107
107
  <table>
108
108
  <thead>
109
109
  <tr>
110
- <th>Operation</th>
111
110
  <th>Java ArrayList</th>
112
111
  <th>Java Queue</th>
113
112
  <th>Java ArrayDeque</th>
@@ -116,28 +115,24 @@ In Java.utils, you need to memorize a table for all sequential data structures(Q
116
115
  </thead>
117
116
  <tbody>
118
117
  <tr>
119
- <td>push</td>
120
118
  <td>add</td>
121
119
  <td>offer</td>
122
120
  <td>push</td>
123
121
  <td>push</td>
124
122
  </tr>
125
123
  <tr>
126
- <td>pop</td>
127
124
  <td>remove</td>
128
125
  <td>poll</td>
129
126
  <td>removeLast</td>
130
127
  <td>removeLast</td>
131
128
  </tr>
132
129
  <tr>
133
- <td>shift</td>
134
130
  <td>remove</td>
135
131
  <td>poll</td>
136
132
  <td>removeFirst</td>
137
133
  <td>removeFirst</td>
138
134
  </tr>
139
135
  <tr>
140
- <td>unshift</td>
141
136
  <td>add(0, element)</td>
142
137
  <td>offerFirst</td>
143
138
  <td>unshift</td>
@@ -1001,43 +996,43 @@ Intel UHD Graphics 630 1536 MB
1001
996
  [//]: # (No deletion!!! Start of Replace Section)
1002
997
  <div class="json-to-html-collapse clearfix 0">
1003
998
  <div class='collapsible level0' ><span class='json-to-html-label'>heap</span></div>
1004
- <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.51</td><td>153.59</td><td>4.60e-4</td></tr><tr><td>100,000 add & poll</td><td>31.59</td><td>31.65</td><td>8.52e-4</td></tr></table></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>
1005
1000
  </div><div class="json-to-html-collapse clearfix 0">
1006
1001
  <div class='collapsible level0' ><span class='json-to-html-label'>rb-tree</span></div>
1007
- <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>85.08</td><td>11.75</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>217.11</td><td>4.61</td><td>0.02</td></tr><tr><td>100,000 getNode</td><td>178.00</td><td>5.62</td><td>0.00</td></tr><tr><td>100,000 add & iterator</td><td>116.31</td><td>8.60</td><td>0.00</td></tr></table></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>
1008
1003
  </div><div class="json-to-html-collapse clearfix 0">
1009
1004
  <div class='collapsible level0' ><span class='json-to-html-label'>queue</span></div>
1010
- <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>45.98</td><td>21.75</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>4.91</td><td>203.49</td><td>7.39e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2321.55</td><td>0.43</td><td>0.20</td></tr></table></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>
1011
1006
  </div><div class="json-to-html-collapse clearfix 0">
1012
1007
  <div class='collapsible level0' ><span class='json-to-html-label'>deque</span></div>
1013
- <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.85</td><td>40.24</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>31.50</td><td>31.75</td><td>0.00</td></tr><tr><td>1,000,000 push & shift</td><td>30.93</td><td>32.33</td><td>0.00</td></tr><tr><td>100,000 push & shift</td><td>3.28</td><td>304.69</td><td>2.35e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2040.48</td><td>0.49</td><td>0.08</td></tr><tr><td>100,000 unshift & shift</td><td>2.97</td><td>336.20</td><td>5.34e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4113.19</td><td>0.24</td><td>0.25</td></tr></table></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>
1014
1009
  </div><div class="json-to-html-collapse clearfix 0">
1015
1010
  <div class='collapsible level0' ><span class='json-to-html-label'>hash-map</span></div>
1016
- <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.59</td><td>8.43</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>208.83</td><td>4.79</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>168.45</td><td>5.94</td><td>0.01</td></tr><tr><td>1,000,000 set & get</td><td>120.86</td><td>8.27</td><td>0.02</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>270.83</td><td>3.69</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>168.79</td><td>5.92</td><td>0.01</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>335.67</td><td>2.98</td><td>0.05</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>302.02</td><td>3.31</td><td>0.04</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>270.81</td><td>3.69</td><td>0.04</td></tr></table></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>
1017
1012
  </div><div class="json-to-html-collapse clearfix 0">
1018
1013
  <div class='collapsible level0' ><span class='json-to-html-label'>trie</span></div>
1019
- <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>44.86</td><td>22.29</td><td>9.69e-4</td></tr><tr><td>100,000 getWords</td><td>85.63</td><td>11.68</td><td>0.01</td></tr></table></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>
1020
1015
  </div><div class="json-to-html-collapse clearfix 0">
1021
1016
  <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
1022
- <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>128.11</td><td>7.81</td><td>0.00</td></tr><tr><td>10,000 get</td><td>52.87</td><td>18.91</td><td>6.02e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>189.76</td><td>5.27</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>136.54</td><td>7.32</td><td>9.74e-4</td></tr></table></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>
1023
1018
  </div><div class="json-to-html-collapse clearfix 0">
1024
1019
  <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree-overall</span></div>
1025
- <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>7.00</td><td>142.81</td><td>9.38e-5</td></tr><tr><td>10,000 RBTree add & delete randomly</td><td>16.85</td><td>59.34</td><td>1.65e-4</td></tr><tr><td>10,000 RBTree get</td><td>18.20</td><td>54.93</td><td>1.45e-4</td></tr><tr><td>10,000 AVLTree add</td><td>127.56</td><td>7.84</td><td>0.00</td></tr><tr><td>10,000 AVLTree get</td><td>53.38</td><td>18.73</td><td>7.89e-4</td></tr><tr><td>10,000 AVLTree add & delete randomly</td><td>190.11</td><td>5.26</td><td>0.00</td></tr></table></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>
1026
1021
  </div><div class="json-to-html-collapse clearfix 0">
1027
1022
  <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
1028
- <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>9828.43</td><td>2.34e-6</td></tr><tr><td>1,000 addEdge</td><td>6.14</td><td>162.81</td><td>1.71e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.17e+4</td><td>4.30e-7</td></tr><tr><td>1,000 getEdge</td><td>23.02</td><td>43.44</td><td>0.00</td></tr><tr><td>tarjan</td><td>202.41</td><td>4.94</td><td>0.01</td></tr><tr><td>topologicalSort</td><td>180.32</td><td>5.55</td><td>0.00</td></tr></table></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>
1029
1024
  </div><div class="json-to-html-collapse clearfix 0">
1030
1025
  <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</span></div>
1031
- <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>209.36</td><td>4.78</td><td>0.04</td></tr><tr><td>1,000,000 unshift</td><td>217.02</td><td>4.61</td><td>0.08</td></tr><tr><td>1,000,000 unshift & shift</td><td>174.28</td><td>5.74</td><td>0.05</td></tr><tr><td>1,000,000 addBefore</td><td>331.23</td><td>3.02</td><td>0.08</td></tr></table></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>
1032
1027
  </div><div class="json-to-html-collapse clearfix 0">
1033
1028
  <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</span></div>
1034
- <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>217.34</td><td>4.60</td><td>0.07</td></tr><tr><td>10,000 push & pop</td><td>216.54</td><td>4.62</td><td>0.01</td></tr><tr><td>10,000 addBefore</td><td>247.69</td><td>4.04</td><td>0.01</td></tr></table></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>
1035
1030
  </div><div class="json-to-html-collapse clearfix 0">
1036
1031
  <div class='collapsible level0' ><span class='json-to-html-label'>priority-queue</span></div>
1037
- <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.82</td><td>35.94</td><td>0.00</td></tr><tr><td>100,000 add & poll</td><td>78.76</td><td>12.70</td><td>0.02</td></tr></table></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>
1038
1033
  </div><div class="json-to-html-collapse clearfix 0">
1039
1034
  <div class='collapsible level0' ><span class='json-to-html-label'>stack</span></div>
1040
- <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>40.75</td><td>24.54</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>48.07</td><td>20.80</td><td>0.01</td></tr></table></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>
1041
1036
  </div>
1042
1037
 
1043
1038
  [//]: # (No deletion!!! End of Replace Section)
@@ -43,43 +43,43 @@
43
43
  <body>
44
44
  <div id="json-to-html"><div class="json-to-html-collapse clearfix 0">
45
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.51</td><td>153.59</td><td>4.60e-4</td></tr><tr><td>100,000 add & poll</td><td>31.59</td><td>31.65</td><td>8.52e-4</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>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
47
  </div><div class="json-to-html-collapse clearfix 0">
48
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</td><td>85.08</td><td>11.75</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>217.11</td><td>4.61</td><td>0.02</td></tr><tr><td>100,000 getNode</td><td>178.00</td><td>5.62</td><td>0.00</td></tr><tr><td>100,000 add & iterator</td><td>116.31</td><td>8.60</td><td>0.00</td></tr></table></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
50
  </div><div class="json-to-html-collapse clearfix 0">
51
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>45.98</td><td>21.75</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>4.91</td><td>203.49</td><td>7.39e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2321.55</td><td>0.43</td><td>0.20</td></tr></table></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
53
  </div><div class="json-to-html-collapse clearfix 0">
54
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>24.85</td><td>40.24</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>31.50</td><td>31.75</td><td>0.00</td></tr><tr><td>1,000,000 push & shift</td><td>30.93</td><td>32.33</td><td>0.00</td></tr><tr><td>100,000 push & shift</td><td>3.28</td><td>304.69</td><td>2.35e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2040.48</td><td>0.49</td><td>0.08</td></tr><tr><td>100,000 unshift & shift</td><td>2.97</td><td>336.20</td><td>5.34e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4113.19</td><td>0.24</td><td>0.25</td></tr></table></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
56
  </div><div class="json-to-html-collapse clearfix 0">
57
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>118.59</td><td>8.43</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>208.83</td><td>4.79</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>168.45</td><td>5.94</td><td>0.01</td></tr><tr><td>1,000,000 set & get</td><td>120.86</td><td>8.27</td><td>0.02</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>270.83</td><td>3.69</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>168.79</td><td>5.92</td><td>0.01</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>335.67</td><td>2.98</td><td>0.05</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>302.02</td><td>3.31</td><td>0.04</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>270.81</td><td>3.69</td><td>0.04</td></tr></table></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
59
  </div><div class="json-to-html-collapse clearfix 0">
60
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>44.86</td><td>22.29</td><td>9.69e-4</td></tr><tr><td>100,000 getWords</td><td>85.63</td><td>11.68</td><td>0.01</td></tr></table></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
62
  </div><div class="json-to-html-collapse clearfix 0">
63
63
  <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>128.11</td><td>7.81</td><td>0.00</td></tr><tr><td>10,000 get</td><td>52.87</td><td>18.91</td><td>6.02e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>189.76</td><td>5.27</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>136.54</td><td>7.32</td><td>9.74e-4</td></tr></table></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
65
  </div><div class="json-to-html-collapse clearfix 0">
66
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>7.00</td><td>142.81</td><td>9.38e-5</td></tr><tr><td>10,000 RBTree add & delete randomly</td><td>16.85</td><td>59.34</td><td>1.65e-4</td></tr><tr><td>10,000 RBTree get</td><td>18.20</td><td>54.93</td><td>1.45e-4</td></tr><tr><td>10,000 AVLTree add</td><td>127.56</td><td>7.84</td><td>0.00</td></tr><tr><td>10,000 AVLTree get</td><td>53.38</td><td>18.73</td><td>7.89e-4</td></tr><tr><td>10,000 AVLTree add & delete randomly</td><td>190.11</td><td>5.26</td><td>0.00</td></tr></table></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
68
  </div><div class="json-to-html-collapse clearfix 0">
69
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>9828.43</td><td>2.34e-6</td></tr><tr><td>1,000 addEdge</td><td>6.14</td><td>162.81</td><td>1.71e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.17e+4</td><td>4.30e-7</td></tr><tr><td>1,000 getEdge</td><td>23.02</td><td>43.44</td><td>0.00</td></tr><tr><td>tarjan</td><td>202.41</td><td>4.94</td><td>0.01</td></tr><tr><td>topologicalSort</td><td>180.32</td><td>5.55</td><td>0.00</td></tr></table></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
71
  </div><div class="json-to-html-collapse clearfix 0">
72
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>209.36</td><td>4.78</td><td>0.04</td></tr><tr><td>1,000,000 unshift</td><td>217.02</td><td>4.61</td><td>0.08</td></tr><tr><td>1,000,000 unshift & shift</td><td>174.28</td><td>5.74</td><td>0.05</td></tr><tr><td>1,000,000 addBefore</td><td>331.23</td><td>3.02</td><td>0.08</td></tr></table></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
74
  </div><div class="json-to-html-collapse clearfix 0">
75
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>217.34</td><td>4.60</td><td>0.07</td></tr><tr><td>10,000 push & pop</td><td>216.54</td><td>4.62</td><td>0.01</td></tr><tr><td>10,000 addBefore</td><td>247.69</td><td>4.04</td><td>0.01</td></tr></table></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
77
  </div><div class="json-to-html-collapse clearfix 0">
78
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>27.82</td><td>35.94</td><td>0.00</td></tr><tr><td>100,000 add & poll</td><td>78.76</td><td>12.70</td><td>0.02</td></tr></table></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
80
  </div><div class="json-to-html-collapse clearfix 0">
81
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>40.75</td><td>24.54</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>48.07</td><td>20.80</td><td>0.01</td></tr></table></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>
83
83
  </div>
84
84
 
85
85
  </div>