data-structure-typed 1.43.0 → 1.43.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/.eslintrc.js +3 -1
  2. package/CHANGELOG.md +1 -1
  3. package/README.md +28 -12
  4. package/benchmark/report.html +33 -24
  5. package/benchmark/report.json +224 -125
  6. package/dist/cjs/src/data-structures/binary-tree/avl-tree.js.map +1 -1
  7. package/dist/cjs/src/data-structures/binary-tree/binary-tree.d.ts +8 -8
  8. package/dist/cjs/src/data-structures/binary-tree/binary-tree.js +62 -62
  9. package/dist/cjs/src/data-structures/binary-tree/binary-tree.js.map +1 -1
  10. package/dist/cjs/src/data-structures/binary-tree/bst.js.map +1 -1
  11. package/dist/cjs/src/data-structures/binary-tree/rb-tree.d.ts +4 -4
  12. package/dist/cjs/src/data-structures/binary-tree/rb-tree.js +1 -1
  13. package/dist/cjs/src/data-structures/binary-tree/rb-tree.js.map +1 -1
  14. package/dist/cjs/src/data-structures/binary-tree/tree-multimap.d.ts +24 -24
  15. package/dist/cjs/src/data-structures/binary-tree/tree-multimap.js +50 -50
  16. package/dist/cjs/src/data-structures/binary-tree/tree-multimap.js.map +1 -1
  17. package/dist/cjs/src/data-structures/graph/abstract-graph.d.ts +37 -37
  18. package/dist/cjs/src/data-structures/graph/abstract-graph.js +37 -37
  19. package/dist/cjs/src/data-structures/graph/abstract-graph.js.map +1 -1
  20. package/dist/cjs/src/data-structures/graph/directed-graph.js.map +1 -1
  21. package/dist/cjs/src/data-structures/graph/map-graph.js.map +1 -1
  22. package/dist/cjs/src/data-structures/graph/undirected-graph.js.map +1 -1
  23. package/dist/cjs/src/data-structures/heap/heap.js.map +1 -1
  24. package/dist/cjs/src/interfaces/binary-tree.d.ts +1 -1
  25. package/dist/mjs/src/data-structures/binary-tree/binary-tree.d.ts +8 -8
  26. package/dist/mjs/src/data-structures/binary-tree/binary-tree.js +62 -62
  27. package/dist/mjs/src/data-structures/binary-tree/rb-tree.d.ts +4 -4
  28. package/dist/mjs/src/data-structures/binary-tree/rb-tree.js +1 -1
  29. package/dist/mjs/src/data-structures/binary-tree/tree-multimap.d.ts +24 -24
  30. package/dist/mjs/src/data-structures/binary-tree/tree-multimap.js +50 -50
  31. package/dist/mjs/src/data-structures/graph/abstract-graph.d.ts +37 -37
  32. package/dist/mjs/src/data-structures/graph/abstract-graph.js +37 -37
  33. package/dist/mjs/src/interfaces/binary-tree.d.ts +1 -1
  34. package/dist/umd/data-structure-typed.js +10497 -0
  35. package/dist/umd/data-structure-typed.min.js +1 -1
  36. package/dist/umd/data-structure-typed.min.js.map +1 -1
  37. package/package.json +3 -2
  38. package/src/data-structures/binary-tree/avl-tree.ts +2 -3
  39. package/src/data-structures/binary-tree/binary-tree.ts +85 -92
  40. package/src/data-structures/binary-tree/bst.ts +14 -22
  41. package/src/data-structures/binary-tree/rb-tree.ts +11 -20
  42. package/src/data-structures/binary-tree/tree-multimap.ts +56 -58
  43. package/src/data-structures/graph/abstract-graph.ts +6 -22
  44. package/src/data-structures/graph/directed-graph.ts +3 -9
  45. package/src/data-structures/graph/map-graph.ts +6 -6
  46. package/src/data-structures/graph/undirected-graph.ts +1 -2
  47. package/src/data-structures/heap/heap.ts +1 -6
  48. package/src/data-structures/trie/trie.ts +1 -1
  49. package/src/interfaces/binary-tree.ts +1 -1
  50. package/src/types/utils/validate-type.ts +2 -16
  51. package/test/config.ts +2 -1
  52. package/test/integration/index.html +77 -12
  53. package/test/performance/data-structures/binary-tree/rb-tree.test.ts +17 -5
  54. package/test/performance/data-structures/hash/hash-map.test.ts +48 -0
  55. package/test/performance/data-structures/linked-list/doubly-linked-list.test.ts +16 -5
  56. package/test/performance/data-structures/priority-queue/max-priority-queue.test.ts +1 -3
  57. package/test/performance/data-structures/priority-queue/priority-queue.test.ts +35 -0
  58. package/test/performance/data-structures/queue/deque.test.ts +20 -11
  59. package/test/performance/data-structures/queue/queue.test.ts +20 -10
  60. package/test/performance/data-structures/stack/stack.test.ts +49 -0
  61. package/test/performance/reportor.ts +4 -5
  62. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +0 -1
  63. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +83 -61
  64. package/test/unit/data-structures/binary-tree/bst.test.ts +2 -6
  65. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +34 -25
  66. package/test/unit/data-structures/graph/abstract-graph.test.ts +6 -6
  67. package/test/unit/data-structures/graph/directed-graph.test.ts +8 -28
  68. package/test/unit/data-structures/heap/heap.test.ts +1 -8
  69. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +34 -12
  70. package/test/utils/json2html.ts +2 -6
  71. package/tsup.config.js +19 -1
package/.eslintrc.js CHANGED
@@ -42,7 +42,9 @@ module.exports = {
42
42
  "{}": false
43
43
  }
44
44
  }
45
- ]
45
+ ],
46
+ "brace-style": ["error", "1tbs", {"allowSingleLine": true}],
47
+ "object-curly-spacing": ["error", "never"]
46
48
  },
47
49
  "settings": {
48
50
  "import/parsers": {
package/CHANGELOG.md CHANGED
@@ -8,7 +8,7 @@ All notable changes to this project will be documented in this file.
8
8
  - [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
9
9
  - [`auto-changelog`](https://github.com/CookPete/auto-changelog)
10
10
 
11
- ## [v1.43.0](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
11
+ ## [v1.43.3](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
12
12
 
13
13
  ### Changes
14
14
 
package/README.md CHANGED
@@ -50,6 +50,13 @@ import {
50
50
  ### CDN
51
51
 
52
52
  Copy the line below into the head tag in an HTML document.
53
+
54
+ #### development
55
+ ```html
56
+ <script src='https://cdn.jsdelivr.net/npm/data-structure-typed/dist/umd/data-structure-typed.js'></script>
57
+ ```
58
+
59
+ #### production
53
60
  ```html
54
61
  <script src='https://cdn.jsdelivr.net/npm/data-structure-typed/dist/umd/data-structure-typed.min.js'></script>
55
62
  ```
@@ -728,40 +735,49 @@ optimal approach to data structure design.
728
735
  [//]: # (No deletion!!! Start of Replace Section)
729
736
  <div class="json-to-html-collapse clearfix 0">
730
737
  <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
731
- <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>33.60</td><td>29.76</td><td>0.00</td></tr><tr><td>10,000 add & delete randomly</td><td>72.39</td><td>13.81</td><td>0.01</td></tr><tr><td>10,000 addMany</td><td>41.06</td><td>24.35</td><td>0.00</td></tr><tr><td>10,000 get</td><td>28.01</td><td>35.71</td><td>0.00</td></tr></table></div>
738
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>35.38</td><td>28.26</td><td>0.00</td></tr><tr><td>10,000 add & delete randomly</td><td>80.65</td><td>12.40</td><td>0.01</td></tr><tr><td>10,000 addMany</td><td>46.45</td><td>21.53</td><td>9.97e-4</td></tr><tr><td>10,000 get</td><td>31.59</td><td>31.66</td><td>0.00</td></tr></table></div>
732
739
  </div><div class="json-to-html-collapse clearfix 0">
733
740
  <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree</span></div>
734
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 add randomly</td><td>12.64</td><td>79.09</td><td>6.90e-4</td></tr><tr><td>1,000 add & delete randomly</td><td>16.03</td><td>62.38</td><td>5.30e-4</td></tr><tr><td>1,000 addMany</td><td>10.44</td><td>95.78</td><td>0.00</td></tr><tr><td>1,000 get</td><td>18.19</td><td>54.98</td><td>3.11e-4</td></tr><tr><td>1,000 dfs</td><td>154.71</td><td>6.46</td><td>0.00</td></tr><tr><td>1,000 bfs</td><td>56.97</td><td>17.55</td><td>8.92e-4</td></tr><tr><td>1,000 morris</td><td>260.71</td><td>3.84</td><td>0.00</td></tr></table></div>
741
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 add randomly</td><td>13.01</td><td>76.84</td><td>7.71e-4</td></tr><tr><td>1,000 add & delete randomly</td><td>16.82</td><td>59.46</td><td>0.00</td></tr><tr><td>1,000 addMany</td><td>10.46</td><td>95.62</td><td>2.13e-4</td></tr><tr><td>1,000 get</td><td>18.44</td><td>54.22</td><td>2.49e-4</td></tr><tr><td>1,000 dfs</td><td>163.31</td><td>6.12</td><td>0.01</td></tr><tr><td>1,000 bfs</td><td>58.07</td><td>17.22</td><td>0.00</td></tr><tr><td>1,000 morris</td><td>273.11</td><td>3.66</td><td>0.00</td></tr></table></div>
735
742
  </div><div class="json-to-html-collapse clearfix 0">
736
743
  <div class='collapsible level0' ><span class='json-to-html-label'>bst</span></div>
737
- <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>29.57</td><td>33.81</td><td>2.75e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>70.78</td><td>14.13</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>29.10</td><td>34.36</td><td>6.84e-4</td></tr><tr><td>10,000 get</td><td>28.75</td><td>34.78</td><td>6.05e-4</td></tr></table></div>
744
+ <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>33.44</td><td>29.91</td><td>5.09e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>76.03</td><td>13.15</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>32.26</td><td>31.00</td><td>0.00</td></tr><tr><td>10,000 get</td><td>32.75</td><td>30.53</td><td>0.01</td></tr></table></div>
738
745
  </div><div class="json-to-html-collapse clearfix 0">
739
746
  <div class='collapsible level0' ><span class='json-to-html-label'>rb-tree</span></div>
740
- <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 randomly</td><td>88.55</td><td>11.29</td><td>0.01</td></tr><tr><td>100,000 add & delete randomly</td><td>220.41</td><td>4.54</td><td>0.01</td></tr><tr><td>100,000 getNode</td><td>37.52</td><td>26.65</td><td>2.68e-4</td></tr></table></div>
747
+ <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>99.27</td><td>10.07</td><td>0.01</td></tr><tr><td>100,000 add & delete randomly</td><td>233.22</td><td>4.29</td><td>0.01</td></tr><tr><td>100,000 getNode</td><td>148.41</td><td>6.74</td><td>0.00</td></tr></table></div>
741
748
  </div><div class="json-to-html-collapse clearfix 0">
742
749
  <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
743
- <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>9804.12</td><td>1.07e-6</td></tr><tr><td>1,000 addEdge</td><td>6.06</td><td>165.11</td><td>1.66e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.17e+4</td><td>3.48e-7</td></tr><tr><td>1,000 getEdge</td><td>23.26</td><td>43.00</td><td>0.00</td></tr><tr><td>tarjan</td><td>223.27</td><td>4.48</td><td>0.01</td></tr><tr><td>tarjan all</td><td>224.27</td><td>4.46</td><td>0.00</td></tr><tr><td>topologicalSort</td><td>179.19</td><td>5.58</td><td>0.00</td></tr></table></div>
750
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.11</td><td>9381.52</td><td>3.21e-6</td></tr><tr><td>1,000 addEdge</td><td>6.36</td><td>157.14</td><td>7.19e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.09e+4</td><td>2.72e-6</td></tr><tr><td>1,000 getEdge</td><td>24.66</td><td>40.55</td><td>0.00</td></tr><tr><td>tarjan</td><td>219.65</td><td>4.55</td><td>0.01</td></tr><tr><td>tarjan all</td><td>239.68</td><td>4.17</td><td>0.04</td></tr><tr><td>topologicalSort</td><td>216.14</td><td>4.63</td><td>0.07</td></tr></table></div>
751
+ </div><div class="json-to-html-collapse clearfix 0">
752
+ <div class='collapsible level0' ><span class='json-to-html-label'>hash-map</span></div>
753
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 set</td><td>19.50</td><td>51.27</td><td>0.01</td></tr><tr><td>10,000 set & get</td><td>38.20</td><td>26.18</td><td>0.01</td></tr></table></div>
744
754
  </div><div class="json-to-html-collapse clearfix 0">
745
755
  <div class='collapsible level0' ><span class='json-to-html-label'>heap</span></div>
746
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add & pop</td><td>4.62</td><td>216.39</td><td>3.75e-5</td></tr><tr><td>10,000 fib add & pop</td><td>354.57</td><td>2.82</td><td>0.00</td></tr></table></div>
756
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add & pop</td><td>4.86</td><td>205.69</td><td>7.04e-4</td></tr><tr><td>10,000 fib add & pop</td><td>386.50</td><td>2.59</td><td>0.03</td></tr></table></div>
747
757
  </div><div class="json-to-html-collapse clearfix 0">
748
758
  <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</span></div>
749
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 unshift</td><td>225.57</td><td>4.43</td><td>0.02</td></tr><tr><td>1,000,000 unshift & shift</td><td>164.91</td><td>6.06</td><td>0.02</td></tr><tr><td>1,000,000 insertBefore</td><td>342.06</td><td>2.92</td><td>0.09</td></tr></table></div>
759
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 unshift</td><td>243.46</td><td>4.11</td><td>0.05</td></tr><tr><td>1,000,000 unshift & shift</td><td>178.49</td><td>5.60</td><td>0.02</td></tr><tr><td>1,000,000 insertBefore</td><td>326.38</td><td>3.06</td><td>0.07</td></tr></table></div>
750
760
  </div><div class="json-to-html-collapse clearfix 0">
751
761
  <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</span></div>
752
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 push & pop</td><td>224.20</td><td>4.46</td><td>0.02</td></tr><tr><td>10,000 insertBefore</td><td>244.96</td><td>4.08</td><td>0.00</td></tr></table></div>
762
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 push & pop</td><td>232.85</td><td>4.29</td><td>0.01</td></tr><tr><td>10,000 insertBefore</td><td>255.90</td><td>3.91</td><td>0.01</td></tr></table></div>
753
763
  </div><div class="json-to-html-collapse clearfix 0">
754
764
  <div class='collapsible level0' ><span class='json-to-html-label'>max-priority-queue</span></div>
755
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 refill & poll</td><td>11.45</td><td>87.32</td><td>1.74e-4</td></tr></table></div>
765
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 refill & poll</td><td>11.88</td><td>84.15</td><td>0.00</td></tr></table></div>
766
+ </div><div class="json-to-html-collapse clearfix 0">
767
+ <div class='collapsible level0' ><span class='json-to-html-label'>priority-queue</span></div>
768
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add & pop</td><td>12.60</td><td>79.35</td><td>1.40e-4</td></tr></table></div>
756
769
  </div><div class="json-to-html-collapse clearfix 0">
757
770
  <div class='collapsible level0' ><span class='json-to-html-label'>deque</span></div>
758
- <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>222.74</td><td>4.49</td><td>0.08</td></tr><tr><td>1,000,000 shift</td><td>26.48</td><td>37.77</td><td>0.00</td></tr></table></div>
771
+ <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>226.32</td><td>4.42</td><td>0.03</td></tr><tr><td>1,000,000 shift</td><td>26.09</td><td>38.33</td><td>0.00</td></tr></table></div>
759
772
  </div><div class="json-to-html-collapse clearfix 0">
760
773
  <div class='collapsible level0' ><span class='json-to-html-label'>queue</span></div>
761
- <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.50</td><td>21.98</td><td>0.01</td></tr><tr><td>1,000,000 push & shift</td><td>80.10</td><td>12.48</td><td>0.00</td></tr></table></div>
774
+ <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.45</td><td>22.00</td><td>0.01</td></tr><tr><td>1,000,000 push & shift</td><td>82.87</td><td>12.07</td><td>0.00</td></tr></table></div>
775
+ </div><div class="json-to-html-collapse clearfix 0">
776
+ <div class='collapsible level0' ><span class='json-to-html-label'>stack</span></div>
777
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>43.95</td><td>22.75</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>50.91</td><td>19.64</td><td>0.00</td></tr></table></div>
762
778
  </div><div class="json-to-html-collapse clearfix 0">
763
779
  <div class='collapsible level0' ><span class='json-to-html-label'>trie</span></div>
764
- <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>56.99</td><td>17.55</td><td>0.01</td></tr><tr><td>100,000 getWords</td><td>98.43</td><td>10.16</td><td>0.01</td></tr></table></div>
780
+ <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>50.20</td><td>19.92</td><td>0.00</td></tr><tr><td>100,000 getWords</td><td>110.08</td><td>9.08</td><td>0.01</td></tr></table></div>
765
781
  </div>
766
782
 
767
783
  [//]: # (No deletion!!! End of Replace Section)
@@ -42,41 +42,50 @@
42
42
  </head>
43
43
  <body>
44
44
  <div id="json-to-html"><div class="json-to-html-collapse clearfix 0">
45
- <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
46
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>33.60</td><td>29.76</td><td>0.00</td></tr><tr><td>10,000 add & delete randomly</td><td>72.39</td><td>13.81</td><td>0.01</td></tr><tr><td>10,000 addMany</td><td>41.06</td><td>24.35</td><td>0.00</td></tr><tr><td>10,000 get</td><td>28.01</td><td>35.71</td><td>0.00</td></tr></table></div>
45
+ <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree.test.js</span></div>
46
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>31.35</td><td>31.90</td><td>6.69e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>70.29</td><td>14.23</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>40.95</td><td>24.42</td><td>0.00</td></tr><tr><td>10,000 get</td><td>27.36</td><td>36.55</td><td>3.94e-4</td></tr></table></div>
47
47
  </div><div class="json-to-html-collapse clearfix 0">
48
- <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree</span></div>
49
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 add randomly</td><td>12.64</td><td>79.09</td><td>6.90e-4</td></tr><tr><td>1,000 add & delete randomly</td><td>16.03</td><td>62.38</td><td>5.30e-4</td></tr><tr><td>1,000 addMany</td><td>10.44</td><td>95.78</td><td>0.00</td></tr><tr><td>1,000 get</td><td>18.19</td><td>54.98</td><td>3.11e-4</td></tr><tr><td>1,000 dfs</td><td>154.71</td><td>6.46</td><td>0.00</td></tr><tr><td>1,000 bfs</td><td>56.97</td><td>17.55</td><td>8.92e-4</td></tr><tr><td>1,000 morris</td><td>260.71</td><td>3.84</td><td>0.00</td></tr></table></div>
48
+ <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree.test.js</span></div>
49
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 add randomly</td><td>12.12</td><td>82.53</td><td>1.47e-4</td></tr><tr><td>1,000 add & delete randomly</td><td>15.54</td><td>64.34</td><td>2.16e-4</td></tr><tr><td>1,000 addMany</td><td>10.15</td><td>98.55</td><td>2.30e-4</td></tr><tr><td>1,000 get</td><td>17.87</td><td>55.95</td><td>1.46e-4</td></tr><tr><td>1,000 dfs</td><td>154.81</td><td>6.46</td><td>0.00</td></tr><tr><td>1,000 bfs</td><td>55.20</td><td>18.11</td><td>1.82e-4</td></tr><tr><td>1,000 morris</td><td>260.41</td><td>3.84</td><td>5.23e-4</td></tr></table></div>
50
50
  </div><div class="json-to-html-collapse clearfix 0">
51
- <div class='collapsible level0' ><span class='json-to-html-label'>bst</span></div>
52
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>29.57</td><td>33.81</td><td>2.75e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>70.78</td><td>14.13</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>29.10</td><td>34.36</td><td>6.84e-4</td></tr><tr><td>10,000 get</td><td>28.75</td><td>34.78</td><td>6.05e-4</td></tr></table></div>
51
+ <div class='collapsible level0' ><span class='json-to-html-label'>bst.test.js</span></div>
52
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>30.32</td><td>32.98</td><td>2.49e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>71.51</td><td>13.98</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>28.90</td><td>34.60</td><td>0.00</td></tr><tr><td>10,000 get</td><td>27.75</td><td>36.04</td><td>6.92e-4</td></tr></table></div>
53
53
  </div><div class="json-to-html-collapse clearfix 0">
54
- <div class='collapsible level0' ><span class='json-to-html-label'>rb-tree</span></div>
55
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add randomly</td><td>88.55</td><td>11.29</td><td>0.01</td></tr><tr><td>100,000 add & delete randomly</td><td>220.41</td><td>4.54</td><td>0.01</td></tr><tr><td>100,000 getNode</td><td>37.52</td><td>26.65</td><td>2.68e-4</td></tr></table></div>
54
+ <div class='collapsible level0' ><span class='json-to-html-label'>rb-tree.test.js</span></div>
55
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>86.45</td><td>11.57</td><td>0.00</td></tr><tr><td>100,000 competitor add</td><td>46.78</td><td>21.38</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>219.22</td><td>4.56</td><td>0.01</td></tr><tr><td>100,000 getNode</td><td>37.83</td><td>26.43</td><td>6.20e-4</td></tr></table></div>
56
56
  </div><div class="json-to-html-collapse clearfix 0">
57
- <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
58
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.10</td><td>9804.12</td><td>1.07e-6</td></tr><tr><td>1,000 addEdge</td><td>6.06</td><td>165.11</td><td>1.66e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.17e+4</td><td>3.48e-7</td></tr><tr><td>1,000 getEdge</td><td>23.26</td><td>43.00</td><td>0.00</td></tr><tr><td>tarjan</td><td>223.27</td><td>4.48</td><td>0.01</td></tr><tr><td>tarjan all</td><td>224.27</td><td>4.46</td><td>0.00</td></tr><tr><td>topologicalSort</td><td>179.19</td><td>5.58</td><td>0.00</td></tr></table></div>
57
+ <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph.test.js</span></div>
58
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.11</td><td>9232.27</td><td>3.15e-5</td></tr><tr><td>1,000 addEdge</td><td>6.54</td><td>152.80</td><td>8.60e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.16e+4</td><td>3.45e-7</td></tr><tr><td>1,000 getEdge</td><td>22.17</td><td>45.10</td><td>0.00</td></tr><tr><td>tarjan</td><td>211.64</td><td>4.72</td><td>0.01</td></tr><tr><td>tarjan all</td><td>209.87</td><td>4.76</td><td>0.00</td></tr><tr><td>topologicalSort</td><td>170.27</td><td>5.87</td><td>0.00</td></tr></table></div>
59
59
  </div><div class="json-to-html-collapse clearfix 0">
60
- <div class='collapsible level0' ><span class='json-to-html-label'>heap</span></div>
61
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add & pop</td><td>4.62</td><td>216.39</td><td>3.75e-5</td></tr><tr><td>10,000 fib add & pop</td><td>354.57</td><td>2.82</td><td>0.00</td></tr></table></div>
60
+ <div class='collapsible level0' ><span class='json-to-html-label'>hash-map.test.js</span></div>
61
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 set</td><td>16.01</td><td>62.47</td><td>0.00</td></tr><tr><td>10,000 competitor set</td><td>0.57</td><td>1748.11</td><td>1.49e-5</td></tr><tr><td>10,000 set & get</td><td>34.39</td><td>29.08</td><td>4.42e-4</td></tr><tr><td>10,000 competitor set & get</td><td>0.67</td><td>1488.07</td><td>3.39e-5</td></tr></table></div>
62
62
  </div><div class="json-to-html-collapse clearfix 0">
63
- <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</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>1,000,000 unshift</td><td>225.57</td><td>4.43</td><td>0.02</td></tr><tr><td>1,000,000 unshift & shift</td><td>164.91</td><td>6.06</td><td>0.02</td></tr><tr><td>1,000,000 insertBefore</td><td>342.06</td><td>2.92</td><td>0.09</td></tr></table></div>
63
+ <div class='collapsible level0' ><span class='json-to-html-label'>heap.test.js</span></div>
64
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add & pop</td><td>4.67</td><td>213.95</td><td>2.17e-4</td></tr><tr><td>10,000 fib add & pop</td><td>352.78</td><td>2.83</td><td>0.01</td></tr></table></div>
65
65
  </div><div class="json-to-html-collapse clearfix 0">
66
- <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</span></div>
67
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 push & pop</td><td>224.20</td><td>4.46</td><td>0.02</td></tr><tr><td>10,000 insertBefore</td><td>244.96</td><td>4.08</td><td>0.00</td></tr></table></div>
66
+ <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list.test.js</span></div>
67
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 unshift</td><td>230.25</td><td>4.34</td><td>0.03</td></tr><tr><td>1,000,000 competitor unshift</td><td>82.22</td><td>12.16</td><td>0.02</td></tr><tr><td>1,000,000 unshift & shift</td><td>166.38</td><td>6.01</td><td>0.02</td></tr><tr><td>1,000,000 insertBefore</td><td>319.13</td><td>3.13</td><td>0.07</td></tr></table></div>
68
68
  </div><div class="json-to-html-collapse clearfix 0">
69
- <div class='collapsible level0' ><span class='json-to-html-label'>max-priority-queue</span></div>
70
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 refill & poll</td><td>11.45</td><td>87.32</td><td>1.74e-4</td></tr></table></div>
69
+ <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list.test.js</span></div>
70
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 push & pop</td><td>222.94</td><td>4.49</td><td>0.02</td></tr><tr><td>10,000 insertBefore</td><td>249.12</td><td>4.01</td><td>0.01</td></tr></table></div>
71
71
  </div><div class="json-to-html-collapse clearfix 0">
72
- <div class='collapsible level0' ><span class='json-to-html-label'>deque</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>222.74</td><td>4.49</td><td>0.08</td></tr><tr><td>1,000,000 shift</td><td>26.48</td><td>37.77</td><td>0.00</td></tr></table></div>
72
+ <div class='collapsible level0' ><span class='json-to-html-label'>max-priority-queue.test.js</span></div>
73
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 refill & poll</td><td>11.37</td><td>87.97</td><td>1.21e-4</td></tr></table></div>
74
74
  </div><div class="json-to-html-collapse clearfix 0">
75
- <div class='collapsible level0' ><span class='json-to-html-label'>queue</span></div>
76
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>45.50</td><td>21.98</td><td>0.01</td></tr><tr><td>1,000,000 push & shift</td><td>80.10</td><td>12.48</td><td>0.00</td></tr></table></div>
75
+ <div class='collapsible level0' ><span class='json-to-html-label'>priority-queue.test.js</span></div>
76
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add & pop</td><td>12.37</td><td>80.85</td><td>6.48e-5</td></tr><tr><td>10,000 competitor add & pop</td><td>2.13</td><td>468.67</td><td>6.91e-5</td></tr></table></div>
77
77
  </div><div class="json-to-html-collapse clearfix 0">
78
- <div class='collapsible level0' ><span class='json-to-html-label'>trie</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 push</td><td>56.99</td><td>17.55</td><td>0.01</td></tr><tr><td>100,000 getWords</td><td>98.43</td><td>10.16</td><td>0.01</td></tr></table></div>
78
+ <div class='collapsible level0' ><span class='json-to-html-label'>deque.test.js</span></div>
79
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>207.83</td><td>4.81</td><td>0.03</td></tr><tr><td>1,000,000 competitor push</td><td>14.45</td><td>69.20</td><td>1.19e-4</td></tr><tr><td>1,000,000 shift</td><td>24.73</td><td>40.43</td><td>0.00</td></tr></table></div>
80
+ </div><div class="json-to-html-collapse clearfix 0">
81
+ <div class='collapsible level0' ><span class='json-to-html-label'>queue.test.js</span></div>
82
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>43.17</td><td>23.16</td><td>0.01</td></tr><tr><td>1,000,000 competitor push</td><td>47.17</td><td>21.20</td><td>0.01</td></tr><tr><td>1,000,000 push & shift</td><td>79.55</td><td>12.57</td><td>7.42e-4</td></tr></table></div>
83
+ </div><div class="json-to-html-collapse clearfix 0">
84
+ <div class='collapsible level0' ><span class='json-to-html-label'>stack.test.js</span></div>
85
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>43.39</td><td>23.05</td><td>0.01</td></tr><tr><td>1,000,000 competitor push</td><td>43.04</td><td>23.23</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>50.18</td><td>19.93</td><td>0.01</td></tr><tr><td>1,000,000 competitor push & pop</td><td>49.06</td><td>20.38</td><td>0.00</td></tr></table></div>
86
+ </div><div class="json-to-html-collapse clearfix 0">
87
+ <div class='collapsible level0' ><span class='json-to-html-label'>trie.test.js</span></div>
88
+ <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 push</td><td>42.19</td><td>23.70</td><td>6.72e-4</td></tr><tr><td>100,000 getWords</td><td>95.42</td><td>10.48</td><td>0.00</td></tr></table></div>
80
89
  </div>
81
90
 
82
91
  </div>