data-structure-typed 1.53.5 → 1.53.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 (119) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +16 -25
  3. package/benchmark/report.html +32 -5
  4. package/benchmark/report.json +326 -23
  5. package/dist/cjs/common/index.d.ts +12 -0
  6. package/dist/cjs/common/index.js +24 -0
  7. package/dist/cjs/common/index.js.map +1 -0
  8. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js +7 -10
  9. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js.map +1 -1
  10. package/dist/cjs/data-structures/binary-tree/avl-tree.js +2 -2
  11. package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -1
  12. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +54 -19
  13. package/dist/cjs/data-structures/binary-tree/binary-tree.js +100 -66
  14. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
  15. package/dist/cjs/data-structures/binary-tree/bst.d.ts +100 -36
  16. package/dist/cjs/data-structures/binary-tree/bst.js +185 -66
  17. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
  18. package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +4 -0
  19. package/dist/cjs/data-structures/binary-tree/rb-tree.js +6 -2
  20. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
  21. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js +2 -2
  22. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js.map +1 -1
  23. package/dist/cjs/data-structures/heap/heap.d.ts +6 -6
  24. package/dist/cjs/data-structures/heap/heap.js +6 -6
  25. package/dist/cjs/data-structures/linked-list/doubly-linked-list.d.ts +31 -19
  26. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +49 -34
  27. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +1 -1
  28. package/dist/cjs/data-structures/linked-list/singly-linked-list.d.ts +144 -62
  29. package/dist/cjs/data-structures/linked-list/singly-linked-list.js +201 -97
  30. package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +1 -1
  31. package/dist/cjs/data-structures/trie/trie.d.ts +110 -4
  32. package/dist/cjs/data-structures/trie/trie.js +122 -12
  33. package/dist/cjs/data-structures/trie/trie.js.map +1 -1
  34. package/dist/cjs/index.d.ts +1 -1
  35. package/dist/cjs/index.js +1 -1
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/cjs/types/data-structures/binary-tree/binary-tree.d.ts +1 -1
  38. package/dist/cjs/types/data-structures/binary-tree/bst.d.ts +3 -2
  39. package/dist/cjs/types/data-structures/binary-tree/rb-tree.d.ts +1 -1
  40. package/dist/cjs/types/utils/utils.d.ts +10 -6
  41. package/dist/cjs/utils/utils.js +4 -2
  42. package/dist/cjs/utils/utils.js.map +1 -1
  43. package/dist/mjs/common/index.d.ts +12 -0
  44. package/dist/mjs/common/index.js +24 -0
  45. package/dist/mjs/common/index.js.map +1 -0
  46. package/dist/mjs/data-structures/binary-tree/avl-tree-multi-map.js +8 -10
  47. package/dist/mjs/data-structures/binary-tree/avl-tree-multi-map.js.map +1 -1
  48. package/dist/mjs/data-structures/binary-tree/avl-tree.js +3 -2
  49. package/dist/mjs/data-structures/binary-tree/avl-tree.js.map +1 -1
  50. package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +54 -19
  51. package/dist/mjs/data-structures/binary-tree/binary-tree.js +95 -61
  52. package/dist/mjs/data-structures/binary-tree/binary-tree.js.map +1 -1
  53. package/dist/mjs/data-structures/binary-tree/bst.d.ts +100 -36
  54. package/dist/mjs/data-structures/binary-tree/bst.js +187 -66
  55. package/dist/mjs/data-structures/binary-tree/bst.js.map +1 -1
  56. package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +4 -0
  57. package/dist/mjs/data-structures/binary-tree/rb-tree.js +6 -2
  58. package/dist/mjs/data-structures/binary-tree/rb-tree.js.map +1 -1
  59. package/dist/mjs/data-structures/binary-tree/tree-multi-map.js +2 -2
  60. package/dist/mjs/data-structures/binary-tree/tree-multi-map.js.map +1 -1
  61. package/dist/mjs/data-structures/heap/heap.d.ts +6 -6
  62. package/dist/mjs/data-structures/heap/heap.js +6 -6
  63. package/dist/mjs/data-structures/linked-list/doubly-linked-list.d.ts +31 -19
  64. package/dist/mjs/data-structures/linked-list/doubly-linked-list.js +49 -34
  65. package/dist/mjs/data-structures/linked-list/doubly-linked-list.js.map +1 -1
  66. package/dist/mjs/data-structures/linked-list/singly-linked-list.d.ts +144 -62
  67. package/dist/mjs/data-structures/linked-list/singly-linked-list.js +201 -97
  68. package/dist/mjs/data-structures/linked-list/singly-linked-list.js.map +1 -1
  69. package/dist/mjs/data-structures/trie/trie.d.ts +110 -4
  70. package/dist/mjs/data-structures/trie/trie.js +122 -12
  71. package/dist/mjs/data-structures/trie/trie.js.map +1 -1
  72. package/dist/mjs/index.d.ts +1 -1
  73. package/dist/mjs/index.js +1 -1
  74. package/dist/mjs/index.js.map +1 -1
  75. package/dist/mjs/types/data-structures/binary-tree/binary-tree.d.ts +1 -1
  76. package/dist/mjs/types/data-structures/binary-tree/bst.d.ts +3 -2
  77. package/dist/mjs/types/data-structures/binary-tree/rb-tree.d.ts +1 -1
  78. package/dist/mjs/types/utils/utils.d.ts +10 -6
  79. package/dist/mjs/utils/utils.js +4 -2
  80. package/dist/mjs/utils/utils.js.map +1 -1
  81. package/dist/umd/data-structure-typed.js +512 -266
  82. package/dist/umd/data-structure-typed.min.js +2 -2
  83. package/dist/umd/data-structure-typed.min.js.map +1 -1
  84. package/package.json +8 -8
  85. package/src/common/index.ts +19 -0
  86. package/src/data-structures/binary-tree/avl-tree-multi-map.ts +7 -9
  87. package/src/data-structures/binary-tree/avl-tree.ts +3 -2
  88. package/src/data-structures/binary-tree/binary-tree.ts +108 -64
  89. package/src/data-structures/binary-tree/bst.ts +190 -69
  90. package/src/data-structures/binary-tree/rb-tree.ts +6 -2
  91. package/src/data-structures/binary-tree/tree-multi-map.ts +3 -3
  92. package/src/data-structures/heap/heap.ts +39 -39
  93. package/src/data-structures/linked-list/doubly-linked-list.ts +139 -121
  94. package/src/data-structures/linked-list/singly-linked-list.ts +219 -98
  95. package/src/data-structures/trie/trie.ts +116 -11
  96. package/src/index.ts +1 -1
  97. package/src/types/data-structures/binary-tree/binary-tree.ts +1 -1
  98. package/src/types/data-structures/binary-tree/bst.ts +3 -2
  99. package/src/types/data-structures/binary-tree/rb-tree.ts +1 -1
  100. package/src/types/utils/utils.ts +16 -10
  101. package/src/utils/utils.ts +4 -2
  102. package/test/performance/data-structures/binary-tree/avl-tree.test.ts +3 -0
  103. package/test/performance/data-structures/binary-tree/rb-tree.test.ts +4 -1
  104. package/test/performance/reportor.ts +38 -33
  105. package/test/unit/data-structures/binary-tree/avl-tree-multi-map.test.ts +2 -2
  106. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +12 -12
  107. package/test/unit/data-structures/binary-tree/bst.test.ts +79 -3
  108. package/test/unit/data-structures/binary-tree/overall.test.ts +14 -22
  109. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +100 -1
  110. package/test/unit/data-structures/trie/trie.test.ts +151 -0
  111. package/test/unit/utils/utils.test.ts +6 -6
  112. package/dist/cjs/constants/index.d.ts +0 -4
  113. package/dist/cjs/constants/index.js +0 -9
  114. package/dist/cjs/constants/index.js.map +0 -1
  115. package/dist/mjs/constants/index.d.ts +0 -4
  116. package/dist/mjs/constants/index.js +0 -6
  117. package/dist/mjs/constants/index.js.map +0 -1
  118. package/src/constants/index.ts +0 -4
  119. package/testToExample.ts +0 -215
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.53.5](https://github.com/zrwusa/data-structure-typed/compare/v1.51.5...main) (upcoming)
11
+ ## [v1.53.7](https://github.com/zrwusa/data-structure-typed/compare/v1.51.5...main) (upcoming)
12
12
 
13
13
  ### Changes
14
14
 
package/README.md CHANGED
@@ -832,43 +832,34 @@ Version 11.7.9
832
832
  [//]: # (No deletion!!! Start of Replace Section)
833
833
  <div class="json-to-html-collapse clearfix 0">
834
834
  <div class='collapsible level0' ><span class='json-to-html-label'>heap</span></div>
835
- <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.63</td><td>150.92</td><td>3.07e-4</td></tr><tr><td>100,000 add & poll</td><td>35.09</td><td>28.50</td><td>8.68e-4</td></tr></table></div>
835
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>6.85</td><td>0.01</td><td>3.38e-4</td></tr><tr><td>100,000 add & poll</td><td>35.35</td><td>0.04</td><td>8.44e-4</td></tr></table></div>
836
+ </div><div class="json-to-html-collapse clearfix 0">
837
+ <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
838
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>302.89</td><td>0.30</td><td>0.01</td></tr><tr><td>100,000 add randomly</td><td>381.83</td><td>0.38</td><td>0.00</td></tr><tr><td>100,000 get</td><td>0.60</td><td>5.95e-4</td><td>2.33e-4</td></tr><tr><td>100,000 getNode</td><td>150.61</td><td>0.15</td><td>0.00</td></tr><tr><td>100,000 iterator</td><td>28.23</td><td>0.03</td><td>0.00</td></tr><tr><td>100,000 add & delete orderly</td><td>505.57</td><td>0.51</td><td>0.01</td></tr><tr><td>100,000 add & delete randomly</td><td>677.36</td><td>0.68</td><td>0.00</td></tr></table></div>
836
839
  </div><div class="json-to-html-collapse clearfix 0">
837
840
  <div class='collapsible level0' ><span class='json-to-html-label'>rb-tree</span></div>
838
- <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>89.65</td><td>11.15</td><td>0.00</td></tr><tr><td>100,000 add randomly</td><td>92.74</td><td>10.78</td><td>0.01</td></tr><tr><td>100,000 get</td><td>1.09</td><td>921.21</td><td>7.98e-5</td></tr><tr><td>100,000 iterator</td><td>25.76</td><td>38.82</td><td>0.00</td></tr><tr><td>100,000 add & delete orderly</td><td>159.43</td><td>6.27</td><td>0.02</td></tr><tr><td>100,000 add & delete randomly</td><td>239.83</td><td>4.17</td><td>0.00</td></tr></table></div>
841
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>212.77</td><td>0.21</td><td>9.84e-4</td></tr><tr><td>100,000 add randomly</td><td>163.70</td><td>0.16</td><td>0.00</td></tr><tr><td>100,000 get</td><td>1.19</td><td>0.00</td><td>2.44e-4</td></tr><tr><td>100,000 getNode</td><td>347.39</td><td>0.35</td><td>0.01</td></tr><tr><td>100,000 node mode add randomly</td><td>162.26</td><td>0.16</td><td>0.00</td></tr><tr><td>100,000 node mode get</td><td>344.90</td><td>0.34</td><td>0.00</td></tr><tr><td>100,000 iterator</td><td>27.48</td><td>0.03</td><td>0.00</td></tr><tr><td>100,000 add & delete orderly</td><td>386.33</td><td>0.39</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>520.66</td><td>0.52</td><td>0.00</td></tr></table></div>
842
+ </div><div class="json-to-html-collapse clearfix 0">
843
+ <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</span></div>
844
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>179.28</td><td>0.18</td><td>0.02</td></tr><tr><td>1,000,000 unshift</td><td>197.22</td><td>0.20</td><td>0.05</td></tr><tr><td>1,000,000 unshift & shift</td><td>153.16</td><td>0.15</td><td>0.00</td></tr><tr><td>1,000,000 addBefore</td><td>247.30</td><td>0.25</td><td>0.03</td></tr></table></div>
845
+ </div><div class="json-to-html-collapse clearfix 0">
846
+ <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
847
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.10</td><td>9.92e-5</td><td>1.16e-6</td></tr><tr><td>1,000 addEdge</td><td>6.44</td><td>0.01</td><td>0.00</td></tr><tr><td>1,000 getVertex</td><td>0.10</td><td>9.82e-5</td><td>1.13e-6</td></tr><tr><td>1,000 getEdge</td><td>22.60</td><td>0.02</td><td>0.00</td></tr><tr><td>tarjan</td><td>186.56</td><td>0.19</td><td>0.00</td></tr><tr><td>topologicalSort</td><td>145.42</td><td>0.15</td><td>0.01</td></tr></table></div>
839
848
  </div><div class="json-to-html-collapse clearfix 0">
840
849
  <div class='collapsible level0' ><span class='json-to-html-label'>queue</span></div>
841
- <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.01</td><td>22.22</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>6.24</td><td>160.17</td><td>0.01</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2227.55</td><td>0.45</td><td>0.22</td></tr></table></div>
850
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>47.74</td><td>0.05</td><td>0.02</td></tr><tr><td>100,000 push & shift</td><td>5.39</td><td>0.01</td><td>1.25e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2225.50</td><td>2.23</td><td>0.10</td></tr></table></div>
842
851
  </div><div class="json-to-html-collapse clearfix 0">
843
852
  <div class='collapsible level0' ><span class='json-to-html-label'>deque</span></div>
844
- <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>20.21</td><td>49.47</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>26.85</td><td>37.24</td><td>0.01</td></tr><tr><td>1,000,000 push & shift</td><td>27.57</td><td>36.27</td><td>0.00</td></tr><tr><td>100,000 push & shift</td><td>2.61</td><td>382.64</td><td>4.60e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2152.90</td><td>0.46</td><td>0.22</td></tr><tr><td>100,000 unshift & shift</td><td>2.51</td><td>398.74</td><td>3.60e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4376.45</td><td>0.23</td><td>0.30</td></tr></table></div>
853
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>22.88</td><td>0.02</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>27.95</td><td>0.03</td><td>0.01</td></tr><tr><td>1,000,000 push & shift</td><td>29.83</td><td>0.03</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>2.71</td><td>0.00</td><td>9.03e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2182.03</td><td>2.18</td><td>0.04</td></tr><tr><td>100,000 unshift & shift</td><td>2.61</td><td>0.00</td><td>8.71e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4185.90</td><td>4.19</td><td>0.04</td></tr></table></div>
845
854
  </div><div class="json-to-html-collapse clearfix 0">
846
855
  <div class='collapsible level0' ><span class='json-to-html-label'>hash-map</span></div>
847
- <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>86.79</td><td>11.52</td><td>0.03</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>207.96</td><td>4.81</td><td>0.01</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>169.32</td><td>5.91</td><td>0.02</td></tr><tr><td>1,000,000 set & get</td><td>81.30</td><td>12.30</td><td>0.02</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>272.31</td><td>3.67</td><td>0.01</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>237.78</td><td>4.21</td><td>0.02</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>374.05</td><td>2.67</td><td>0.06</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>345.51</td><td>2.89</td><td>0.06</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>286.45</td><td>3.49</td><td>0.05</td></tr></table></div>
856
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000,000 set</td><td>253.45</td><td>0.25</td><td>0.07</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>228.90</td><td>0.23</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>179.65</td><td>0.18</td><td>0.01</td></tr><tr><td>1,000,000 set & get</td><td>234.96</td><td>0.23</td><td>0.06</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>284.90</td><td>0.28</td><td>0.01</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>254.90</td><td>0.25</td><td>0.03</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>403.74</td><td>0.40</td><td>0.10</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>340.18</td><td>0.34</td><td>0.07</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>300.25</td><td>0.30</td><td>0.06</td></tr></table></div>
848
857
  </div><div class="json-to-html-collapse clearfix 0">
849
858
  <div class='collapsible level0' ><span class='json-to-html-label'>trie</span></div>
850
- <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>41.60</td><td>24.04</td><td>5.38e-4</td></tr><tr><td>100,000 getWords</td><td>81.04</td><td>12.34</td><td>0.00</td></tr></table></div>
851
- </div><div class="json-to-html-collapse clearfix 0">
852
- <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
853
- <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>299.03</td><td>3.34</td><td>0.00</td></tr><tr><td>100,000 add randomly</td><td>364.39</td><td>2.74</td><td>0.02</td></tr><tr><td>100,000 get</td><td>1.08</td><td>921.78</td><td>8.08e-5</td></tr><tr><td>100,000 iterator</td><td>27.60</td><td>36.23</td><td>0.00</td></tr><tr><td>100,000 add & delete orderly</td><td>488.82</td><td>2.05</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>649.46</td><td>1.54</td><td>0.01</td></tr></table></div>
854
- </div><div class="json-to-html-collapse clearfix 0">
855
- <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree-overall</span></div>
856
- <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 randomly</td><td>7.76</td><td>128.90</td><td>1.09e-4</td></tr><tr><td>10,000 RBTree get randomly</td><td>0.11</td><td>9328.86</td><td>5.44e-6</td></tr><tr><td>10,000 RBTree add & delete randomly</td><td>21.72</td><td>46.04</td><td>2.07e-4</td></tr><tr><td>10,000 AVLTree add randomly</td><td>27.45</td><td>36.43</td><td>3.65e-4</td></tr><tr><td>10,000 AVLTree get randomly</td><td>0.11</td><td>9432.49</td><td>4.04e-7</td></tr><tr><td>10,000 AVLTree add & delete randomly</td><td>51.03</td><td>19.60</td><td>6.60e-4</td></tr></table></div>
857
- </div><div class="json-to-html-collapse clearfix 0">
858
- <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
859
- <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.03e+4</td><td>1.04e-6</td></tr><tr><td>1,000 addEdge</td><td>6.01</td><td>166.29</td><td>1.12e-4</td></tr><tr><td>1,000 getVertex</td><td>0.10</td><td>1.04e+4</td><td>1.71e-6</td></tr><tr><td>1,000 getEdge</td><td>23.72</td><td>42.15</td><td>0.00</td></tr><tr><td>tarjan</td><td>194.37</td><td>5.14</td><td>0.00</td></tr><tr><td>topologicalSort</td><td>152.91</td><td>6.54</td><td>0.02</td></tr></table></div>
860
- </div><div class="json-to-html-collapse clearfix 0">
861
- <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</span></div>
862
- <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>188.44</td><td>5.31</td><td>0.04</td></tr><tr><td>1,000,000 unshift</td><td>177.48</td><td>5.63</td><td>0.02</td></tr><tr><td>1,000,000 unshift & shift</td><td>161.09</td><td>6.21</td><td>0.04</td></tr><tr><td>1,000,000 addBefore</td><td>277.84</td><td>3.60</td><td>0.08</td></tr></table></div>
863
- </div><div class="json-to-html-collapse clearfix 0">
864
- <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</span></div>
865
- <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>193.99</td><td>5.15</td><td>0.05</td></tr><tr><td>10,000 push & pop</td><td>232.82</td><td>4.30</td><td>0.01</td></tr><tr><td>10,000 addBefore</td><td>285.44</td><td>3.50</td><td>0.02</td></tr></table></div>
866
- </div><div class="json-to-html-collapse clearfix 0">
867
- <div class='collapsible level0' ><span class='json-to-html-label'>priority-queue</span></div>
868
- <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>30.02</td><td>33.31</td><td>2.68e-4</td></tr><tr><td>100,000 add & poll</td><td>89.21</td><td>11.21</td><td>0.00</td></tr></table></div>
859
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>100,000 push</td><td>44.11</td><td>0.04</td><td>8.55e-4</td></tr><tr><td>100,000 getWords</td><td>86.67</td><td>0.09</td><td>0.00</td></tr></table></div>
869
860
  </div><div class="json-to-html-collapse clearfix 0">
870
861
  <div class='collapsible level0' ><span class='json-to-html-label'>stack</span></div>
871
- <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>42.73</td><td>23.40</td><td>0.00</td></tr><tr><td>1,000,000 push & pop</td><td>50.52</td><td>19.79</td><td>0.02</td></tr></table></div>
862
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>43.18</td><td>0.04</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>48.40</td><td>0.05</td><td>0.02</td></tr></table></div>
872
863
  </div>
873
864
 
874
865
  [//]: # (No deletion!!! End of Replace Section)
@@ -10,7 +10,7 @@
10
10
  #json-to-html {
11
11
  padding: 0 10px 20px;
12
12
  }
13
-
13
+
14
14
  .json-to-html-label {
15
15
  font-size: 2rem;
16
16
  margin: 2rem 0 0 3px;
@@ -22,19 +22,19 @@
22
22
  margin-top: 10px;
23
23
  font-size: 16px;
24
24
  }
25
-
25
+
26
26
  .content table th,
27
27
  .content table td {
28
28
  padding: 8px 12px;
29
29
  text-align: left;
30
30
  border: 1px solid #ddd;
31
31
  }
32
-
32
+
33
33
  .content table th {
34
34
  background-color: #f2f2f2;
35
35
  font-weight: bold;
36
36
  }
37
-
37
+
38
38
  .content table tr:nth-child(odd) {
39
39
  background-color: #ffffff;
40
40
  }
@@ -42,8 +42,35 @@
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>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>6.85</td><td>0.01</td><td>3.38e-4</td></tr><tr><td>100,000 add & poll</td><td>35.35</td><td>0.04</td><td>8.44e-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'>avl-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>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>302.89</td><td>0.30</td><td>0.01</td></tr><tr><td>100,000 add randomly</td><td>381.83</td><td>0.38</td><td>0.00</td></tr><tr><td>100,000 get</td><td>0.60</td><td>5.95e-4</td><td>2.33e-4</td></tr><tr><td>100,000 getNode</td><td>150.61</td><td>0.15</td><td>0.00</td></tr><tr><td>100,000 iterator</td><td>28.23</td><td>0.03</td><td>0.00</td></tr><tr><td>100,000 add & delete orderly</td><td>505.57</td><td>0.51</td><td>0.01</td></tr><tr><td>100,000 add & delete randomly</td><td>677.36</td><td>0.68</td><td>0.00</td></tr></table></div>
50
+ </div><div class="json-to-html-collapse clearfix 0">
45
51
  <div class='collapsible level0' ><span class='json-to-html-label'>rb-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>100,000 add</td><td>85.02</td><td>11.76</td><td>5.42e-4</td></tr><tr><td>100,000 add randomly</td><td>101.88</td><td>9.82</td><td>0.01</td></tr><tr><td>100,000 get</td><td>1.08</td><td>921.67</td><td>7.93e-5</td></tr><tr><td>100,000 node mode add randomly</td><td>107.93</td><td>9.27</td><td>0.01</td></tr><tr><td>100,000 node mode get</td><td>2.80</td><td>357.71</td><td>1.91e-4</td></tr><tr><td>100,000 iterator</td><td>36.99</td><td>27.04</td><td>0.01</td></tr><tr><td>100,000 add & delete orderly</td><td>158.77</td><td>6.30</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>264.70</td><td>3.78</td><td>0.01</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>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>212.77</td><td>0.21</td><td>9.84e-4</td></tr><tr><td>100,000 add randomly</td><td>163.70</td><td>0.16</td><td>0.00</td></tr><tr><td>100,000 get</td><td>1.19</td><td>0.00</td><td>2.44e-4</td></tr><tr><td>100,000 getNode</td><td>347.39</td><td>0.35</td><td>0.01</td></tr><tr><td>100,000 node mode add randomly</td><td>162.26</td><td>0.16</td><td>0.00</td></tr><tr><td>100,000 node mode get</td><td>344.90</td><td>0.34</td><td>0.00</td></tr><tr><td>100,000 iterator</td><td>27.48</td><td>0.03</td><td>0.00</td></tr><tr><td>100,000 add & delete orderly</td><td>386.33</td><td>0.39</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>520.66</td><td>0.52</td><td>0.00</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'>doubly-linked-list</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>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>179.28</td><td>0.18</td><td>0.02</td></tr><tr><td>1,000,000 unshift</td><td>197.22</td><td>0.20</td><td>0.05</td></tr><tr><td>1,000,000 unshift & shift</td><td>153.16</td><td>0.15</td><td>0.00</td></tr><tr><td>1,000,000 addBefore</td><td>247.30</td><td>0.25</td><td>0.03</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'>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>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.10</td><td>9.92e-5</td><td>1.16e-6</td></tr><tr><td>1,000 addEdge</td><td>6.44</td><td>0.01</td><td>0.00</td></tr><tr><td>1,000 getVertex</td><td>0.10</td><td>9.82e-5</td><td>1.13e-6</td></tr><tr><td>1,000 getEdge</td><td>22.60</td><td>0.02</td><td>0.00</td></tr><tr><td>tarjan</td><td>186.56</td><td>0.19</td><td>0.00</td></tr><tr><td>topologicalSort</td><td>145.42</td><td>0.15</td><td>0.01</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'>queue</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>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>47.74</td><td>0.05</td><td>0.02</td></tr><tr><td>100,000 push & shift</td><td>5.39</td><td>0.01</td><td>1.25e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2225.50</td><td>2.23</td><td>0.10</td></tr></table></div>
62
+ </div><div class="json-to-html-collapse clearfix 0">
63
+ <div class='collapsible level0' ><span class='json-to-html-label'>deque</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>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>22.88</td><td>0.02</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>27.95</td><td>0.03</td><td>0.01</td></tr><tr><td>1,000,000 push & shift</td><td>29.83</td><td>0.03</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>2.71</td><td>0.00</td><td>9.03e-4</td></tr><tr><td>Native JS Array 100,000 push & shift</td><td>2182.03</td><td>2.18</td><td>0.04</td></tr><tr><td>100,000 unshift & shift</td><td>2.61</td><td>0.00</td><td>8.71e-4</td></tr><tr><td>Native JS Array 100,000 unshift & shift</td><td>4185.90</td><td>4.19</td><td>0.04</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'>hash-map</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>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000,000 set</td><td>253.45</td><td>0.25</td><td>0.07</td></tr><tr><td>Native JS Map 1,000,000 set</td><td>228.90</td><td>0.23</td><td>0.02</td></tr><tr><td>Native JS Set 1,000,000 add</td><td>179.65</td><td>0.18</td><td>0.01</td></tr><tr><td>1,000,000 set & get</td><td>234.96</td><td>0.23</td><td>0.06</td></tr><tr><td>Native JS Map 1,000,000 set & get</td><td>284.90</td><td>0.28</td><td>0.01</td></tr><tr><td>Native JS Set 1,000,000 add & has</td><td>254.90</td><td>0.25</td><td>0.03</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>403.74</td><td>0.40</td><td>0.10</td></tr><tr><td>Native JS Map 1,000,000 ObjKey set & get</td><td>340.18</td><td>0.34</td><td>0.07</td></tr><tr><td>Native JS Set 1,000,000 ObjKey add & has</td><td>300.25</td><td>0.30</td><td>0.06</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'>trie</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>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>100,000 push</td><td>44.11</td><td>0.04</td><td>8.55e-4</td></tr><tr><td>100,000 getWords</td><td>86.67</td><td>0.09</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'>stack</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>sample mean (secs)</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>43.18</td><td>0.04</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>48.40</td><td>0.05</td><td>0.02</td></tr></table></div>
47
74
  </div>
48
75
 
49
76
  </div>
@@ -1,55 +1,358 @@
1
1
  {
2
- "rb-tree": {
2
+ "heap": {
3
3
  "benchmarks": [
4
4
  {
5
5
  "test name": "100,000 add",
6
- "time taken (ms)": "85.02",
7
- "executions per sec": "11.76",
8
- "sample deviation": "5.42e-4"
6
+ "time taken (ms)": "6.85",
7
+ "sample mean (secs)": "0.01",
8
+ "sample deviation": "3.38e-4"
9
+ },
10
+ {
11
+ "test name": "100,000 add & poll",
12
+ "time taken (ms)": "35.35",
13
+ "sample mean (secs)": "0.04",
14
+ "sample deviation": "8.44e-4"
15
+ }
16
+ ],
17
+ "testName": "heap"
18
+ },
19
+ "avl-tree": {
20
+ "benchmarks": [
21
+ {
22
+ "test name": "100,000 add",
23
+ "time taken (ms)": "302.89",
24
+ "sample mean (secs)": "0.30",
25
+ "sample deviation": "0.01"
9
26
  },
10
27
  {
11
28
  "test name": "100,000 add randomly",
12
- "time taken (ms)": "101.88",
13
- "executions per sec": "9.82",
29
+ "time taken (ms)": "381.83",
30
+ "sample mean (secs)": "0.38",
31
+ "sample deviation": "0.00"
32
+ },
33
+ {
34
+ "test name": "100,000 get",
35
+ "time taken (ms)": "0.60",
36
+ "sample mean (secs)": "5.95e-4",
37
+ "sample deviation": "2.33e-4"
38
+ },
39
+ {
40
+ "test name": "100,000 getNode",
41
+ "time taken (ms)": "150.61",
42
+ "sample mean (secs)": "0.15",
43
+ "sample deviation": "0.00"
44
+ },
45
+ {
46
+ "test name": "100,000 iterator",
47
+ "time taken (ms)": "28.23",
48
+ "sample mean (secs)": "0.03",
49
+ "sample deviation": "0.00"
50
+ },
51
+ {
52
+ "test name": "100,000 add & delete orderly",
53
+ "time taken (ms)": "505.57",
54
+ "sample mean (secs)": "0.51",
14
55
  "sample deviation": "0.01"
15
56
  },
57
+ {
58
+ "test name": "100,000 add & delete randomly",
59
+ "time taken (ms)": "677.36",
60
+ "sample mean (secs)": "0.68",
61
+ "sample deviation": "0.00"
62
+ }
63
+ ],
64
+ "testName": "avl-tree"
65
+ },
66
+ "rb-tree": {
67
+ "benchmarks": [
68
+ {
69
+ "test name": "100,000 add",
70
+ "time taken (ms)": "212.77",
71
+ "sample mean (secs)": "0.21",
72
+ "sample deviation": "9.84e-4"
73
+ },
74
+ {
75
+ "test name": "100,000 add randomly",
76
+ "time taken (ms)": "163.70",
77
+ "sample mean (secs)": "0.16",
78
+ "sample deviation": "0.00"
79
+ },
16
80
  {
17
81
  "test name": "100,000 get",
18
- "time taken (ms)": "1.08",
19
- "executions per sec": "921.67",
20
- "sample deviation": "7.93e-5"
82
+ "time taken (ms)": "1.19",
83
+ "sample mean (secs)": "0.00",
84
+ "sample deviation": "2.44e-4"
21
85
  },
22
86
  {
23
- "test name": "100,000 node mode add randomly",
24
- "time taken (ms)": "107.93",
25
- "executions per sec": "9.27",
87
+ "test name": "100,000 getNode",
88
+ "time taken (ms)": "347.39",
89
+ "sample mean (secs)": "0.35",
26
90
  "sample deviation": "0.01"
27
91
  },
92
+ {
93
+ "test name": "100,000 node mode add randomly",
94
+ "time taken (ms)": "162.26",
95
+ "sample mean (secs)": "0.16",
96
+ "sample deviation": "0.00"
97
+ },
28
98
  {
29
99
  "test name": "100,000 node mode get",
30
- "time taken (ms)": "2.80",
31
- "executions per sec": "357.71",
32
- "sample deviation": "1.91e-4"
100
+ "time taken (ms)": "344.90",
101
+ "sample mean (secs)": "0.34",
102
+ "sample deviation": "0.00"
33
103
  },
34
104
  {
35
105
  "test name": "100,000 iterator",
36
- "time taken (ms)": "36.99",
37
- "executions per sec": "27.04",
38
- "sample deviation": "0.01"
106
+ "time taken (ms)": "27.48",
107
+ "sample mean (secs)": "0.03",
108
+ "sample deviation": "0.00"
39
109
  },
40
110
  {
41
111
  "test name": "100,000 add & delete orderly",
42
- "time taken (ms)": "158.77",
43
- "executions per sec": "6.30",
112
+ "time taken (ms)": "386.33",
113
+ "sample mean (secs)": "0.39",
44
114
  "sample deviation": "0.00"
45
115
  },
46
116
  {
47
117
  "test name": "100,000 add & delete randomly",
48
- "time taken (ms)": "264.70",
49
- "executions per sec": "3.78",
50
- "sample deviation": "0.01"
118
+ "time taken (ms)": "520.66",
119
+ "sample mean (secs)": "0.52",
120
+ "sample deviation": "0.00"
51
121
  }
52
122
  ],
53
123
  "testName": "rb-tree"
124
+ },
125
+ "doubly-linked-list": {
126
+ "benchmarks": [
127
+ {
128
+ "test name": "1,000,000 push",
129
+ "time taken (ms)": "179.28",
130
+ "sample mean (secs)": "0.18",
131
+ "sample deviation": "0.02"
132
+ },
133
+ {
134
+ "test name": "1,000,000 unshift",
135
+ "time taken (ms)": "197.22",
136
+ "sample mean (secs)": "0.20",
137
+ "sample deviation": "0.05"
138
+ },
139
+ {
140
+ "test name": "1,000,000 unshift & shift",
141
+ "time taken (ms)": "153.16",
142
+ "sample mean (secs)": "0.15",
143
+ "sample deviation": "0.00"
144
+ },
145
+ {
146
+ "test name": "1,000,000 addBefore",
147
+ "time taken (ms)": "247.30",
148
+ "sample mean (secs)": "0.25",
149
+ "sample deviation": "0.03"
150
+ }
151
+ ],
152
+ "testName": "doubly-linked-list"
153
+ },
154
+ "directed-graph": {
155
+ "benchmarks": [
156
+ {
157
+ "test name": "1,000 addVertex",
158
+ "time taken (ms)": "0.10",
159
+ "sample mean (secs)": "9.92e-5",
160
+ "sample deviation": "1.16e-6"
161
+ },
162
+ {
163
+ "test name": "1,000 addEdge",
164
+ "time taken (ms)": "6.44",
165
+ "sample mean (secs)": "0.01",
166
+ "sample deviation": "0.00"
167
+ },
168
+ {
169
+ "test name": "1,000 getVertex",
170
+ "time taken (ms)": "0.10",
171
+ "sample mean (secs)": "9.82e-5",
172
+ "sample deviation": "1.13e-6"
173
+ },
174
+ {
175
+ "test name": "1,000 getEdge",
176
+ "time taken (ms)": "22.60",
177
+ "sample mean (secs)": "0.02",
178
+ "sample deviation": "0.00"
179
+ },
180
+ {
181
+ "test name": "tarjan",
182
+ "time taken (ms)": "186.56",
183
+ "sample mean (secs)": "0.19",
184
+ "sample deviation": "0.00"
185
+ },
186
+ {
187
+ "test name": "topologicalSort",
188
+ "time taken (ms)": "145.42",
189
+ "sample mean (secs)": "0.15",
190
+ "sample deviation": "0.01"
191
+ }
192
+ ],
193
+ "testName": "directed-graph"
194
+ },
195
+ "queue": {
196
+ "benchmarks": [
197
+ {
198
+ "test name": "1,000,000 push",
199
+ "time taken (ms)": "47.74",
200
+ "sample mean (secs)": "0.05",
201
+ "sample deviation": "0.02"
202
+ },
203
+ {
204
+ "test name": "100,000 push & shift",
205
+ "time taken (ms)": "5.39",
206
+ "sample mean (secs)": "0.01",
207
+ "sample deviation": "1.25e-4"
208
+ },
209
+ {
210
+ "test name": "Native JS Array 100,000 push & shift",
211
+ "time taken (ms)": "2225.50",
212
+ "sample mean (secs)": "2.23",
213
+ "sample deviation": "0.10"
214
+ }
215
+ ],
216
+ "testName": "queue"
217
+ },
218
+ "deque": {
219
+ "benchmarks": [
220
+ {
221
+ "test name": "1,000,000 push",
222
+ "time taken (ms)": "22.88",
223
+ "sample mean (secs)": "0.02",
224
+ "sample deviation": "0.01"
225
+ },
226
+ {
227
+ "test name": "1,000,000 push & pop",
228
+ "time taken (ms)": "27.95",
229
+ "sample mean (secs)": "0.03",
230
+ "sample deviation": "0.01"
231
+ },
232
+ {
233
+ "test name": "1,000,000 push & shift",
234
+ "time taken (ms)": "29.83",
235
+ "sample mean (secs)": "0.03",
236
+ "sample deviation": "0.01"
237
+ },
238
+ {
239
+ "test name": "100,000 push & shift",
240
+ "time taken (ms)": "2.71",
241
+ "sample mean (secs)": "0.00",
242
+ "sample deviation": "9.03e-4"
243
+ },
244
+ {
245
+ "test name": "Native JS Array 100,000 push & shift",
246
+ "time taken (ms)": "2182.03",
247
+ "sample mean (secs)": "2.18",
248
+ "sample deviation": "0.04"
249
+ },
250
+ {
251
+ "test name": "100,000 unshift & shift",
252
+ "time taken (ms)": "2.61",
253
+ "sample mean (secs)": "0.00",
254
+ "sample deviation": "8.71e-4"
255
+ },
256
+ {
257
+ "test name": "Native JS Array 100,000 unshift & shift",
258
+ "time taken (ms)": "4185.90",
259
+ "sample mean (secs)": "4.19",
260
+ "sample deviation": "0.04"
261
+ }
262
+ ],
263
+ "testName": "deque"
264
+ },
265
+ "hash-map": {
266
+ "benchmarks": [
267
+ {
268
+ "test name": "1,000,000 set",
269
+ "time taken (ms)": "253.45",
270
+ "sample mean (secs)": "0.25",
271
+ "sample deviation": "0.07"
272
+ },
273
+ {
274
+ "test name": "Native JS Map 1,000,000 set",
275
+ "time taken (ms)": "228.90",
276
+ "sample mean (secs)": "0.23",
277
+ "sample deviation": "0.02"
278
+ },
279
+ {
280
+ "test name": "Native JS Set 1,000,000 add",
281
+ "time taken (ms)": "179.65",
282
+ "sample mean (secs)": "0.18",
283
+ "sample deviation": "0.01"
284
+ },
285
+ {
286
+ "test name": "1,000,000 set & get",
287
+ "time taken (ms)": "234.96",
288
+ "sample mean (secs)": "0.23",
289
+ "sample deviation": "0.06"
290
+ },
291
+ {
292
+ "test name": "Native JS Map 1,000,000 set & get",
293
+ "time taken (ms)": "284.90",
294
+ "sample mean (secs)": "0.28",
295
+ "sample deviation": "0.01"
296
+ },
297
+ {
298
+ "test name": "Native JS Set 1,000,000 add & has",
299
+ "time taken (ms)": "254.90",
300
+ "sample mean (secs)": "0.25",
301
+ "sample deviation": "0.03"
302
+ },
303
+ {
304
+ "test name": "1,000,000 ObjKey set & get",
305
+ "time taken (ms)": "403.74",
306
+ "sample mean (secs)": "0.40",
307
+ "sample deviation": "0.10"
308
+ },
309
+ {
310
+ "test name": "Native JS Map 1,000,000 ObjKey set & get",
311
+ "time taken (ms)": "340.18",
312
+ "sample mean (secs)": "0.34",
313
+ "sample deviation": "0.07"
314
+ },
315
+ {
316
+ "test name": "Native JS Set 1,000,000 ObjKey add & has",
317
+ "time taken (ms)": "300.25",
318
+ "sample mean (secs)": "0.30",
319
+ "sample deviation": "0.06"
320
+ }
321
+ ],
322
+ "testName": "hash-map"
323
+ },
324
+ "trie": {
325
+ "benchmarks": [
326
+ {
327
+ "test name": "100,000 push",
328
+ "time taken (ms)": "44.11",
329
+ "sample mean (secs)": "0.04",
330
+ "sample deviation": "8.55e-4"
331
+ },
332
+ {
333
+ "test name": "100,000 getWords",
334
+ "time taken (ms)": "86.67",
335
+ "sample mean (secs)": "0.09",
336
+ "sample deviation": "0.00"
337
+ }
338
+ ],
339
+ "testName": "trie"
340
+ },
341
+ "stack": {
342
+ "benchmarks": [
343
+ {
344
+ "test name": "1,000,000 push",
345
+ "time taken (ms)": "43.18",
346
+ "sample mean (secs)": "0.04",
347
+ "sample deviation": "0.01"
348
+ },
349
+ {
350
+ "test name": "1,000,000 push & pop",
351
+ "time taken (ms)": "48.40",
352
+ "sample mean (secs)": "0.05",
353
+ "sample deviation": "0.02"
354
+ }
355
+ ],
356
+ "testName": "stack"
54
357
  }
55
358
  }
@@ -0,0 +1,12 @@
1
+ export declare enum DFSOperation {
2
+ VISIT = 0,
3
+ PROCESS = 1
4
+ }
5
+ export declare class Range<K> {
6
+ low: K;
7
+ high: K;
8
+ includeLow: boolean;
9
+ includeHigh: boolean;
10
+ constructor(low: K, high: K, includeLow?: boolean, includeHigh?: boolean);
11
+ isInRange(key: K, comparator: (a: K, b: K) => number): boolean;
12
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Range = exports.DFSOperation = void 0;
4
+ var DFSOperation;
5
+ (function (DFSOperation) {
6
+ DFSOperation[DFSOperation["VISIT"] = 0] = "VISIT";
7
+ DFSOperation[DFSOperation["PROCESS"] = 1] = "PROCESS";
8
+ })(DFSOperation || (exports.DFSOperation = DFSOperation = {}));
9
+ class Range {
10
+ constructor(low, high, includeLow = true, includeHigh = true) {
11
+ this.low = low;
12
+ this.high = high;
13
+ this.includeLow = includeLow;
14
+ this.includeHigh = includeHigh;
15
+ }
16
+ // Determine whether a key is within the range
17
+ isInRange(key, comparator) {
18
+ const lowCheck = this.includeLow ? comparator(key, this.low) >= 0 : comparator(key, this.low) > 0;
19
+ const highCheck = this.includeHigh ? comparator(key, this.high) <= 0 : comparator(key, this.high) < 0;
20
+ return lowCheck && highCheck;
21
+ }
22
+ }
23
+ exports.Range = Range;
24
+ //# sourceMappingURL=index.js.map