data-structure-typed 1.48.5 → 1.48.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 (63) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +109 -59
  3. package/README_zh-CN.md +1028 -0
  4. package/benchmark/report.html +16 -16
  5. package/benchmark/report.json +204 -174
  6. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +7 -16
  7. package/dist/cjs/data-structures/binary-tree/binary-tree.js +24 -19
  8. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
  9. package/dist/cjs/data-structures/binary-tree/bst.d.ts +35 -11
  10. package/dist/cjs/data-structures/binary-tree/bst.js +58 -39
  11. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
  12. package/dist/cjs/data-structures/hash/hash-map.js.map +1 -1
  13. package/dist/cjs/data-structures/linked-list/doubly-linked-list.d.ts +4 -4
  14. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js +4 -4
  15. package/dist/cjs/data-structures/linked-list/doubly-linked-list.js.map +1 -1
  16. package/dist/cjs/data-structures/linked-list/singly-linked-list.d.ts +4 -4
  17. package/dist/cjs/data-structures/linked-list/singly-linked-list.js +4 -4
  18. package/dist/cjs/data-structures/linked-list/singly-linked-list.js.map +1 -1
  19. package/dist/cjs/data-structures/queue/deque.d.ts +9 -9
  20. package/dist/cjs/data-structures/queue/deque.js +9 -9
  21. package/dist/cjs/data-structures/queue/deque.js.map +1 -1
  22. package/dist/cjs/interfaces/binary-tree.d.ts +1 -1
  23. package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +7 -16
  24. package/dist/mjs/data-structures/binary-tree/binary-tree.js +24 -19
  25. package/dist/mjs/data-structures/binary-tree/bst.d.ts +35 -11
  26. package/dist/mjs/data-structures/binary-tree/bst.js +58 -39
  27. package/dist/mjs/data-structures/linked-list/doubly-linked-list.d.ts +4 -4
  28. package/dist/mjs/data-structures/linked-list/doubly-linked-list.js +4 -4
  29. package/dist/mjs/data-structures/linked-list/singly-linked-list.d.ts +4 -4
  30. package/dist/mjs/data-structures/linked-list/singly-linked-list.js +4 -4
  31. package/dist/mjs/data-structures/queue/deque.d.ts +9 -9
  32. package/dist/mjs/data-structures/queue/deque.js +9 -9
  33. package/dist/mjs/interfaces/binary-tree.d.ts +1 -1
  34. package/dist/umd/data-structure-typed.js +99 -78
  35. package/dist/umd/data-structure-typed.min.js +2 -2
  36. package/dist/umd/data-structure-typed.min.js.map +1 -1
  37. package/package.json +2 -2
  38. package/src/data-structures/binary-tree/avl-tree.ts +1 -1
  39. package/src/data-structures/binary-tree/binary-tree.ts +31 -20
  40. package/src/data-structures/binary-tree/bst.ts +73 -46
  41. package/src/data-structures/binary-tree/rb-tree.ts +1 -1
  42. package/src/data-structures/binary-tree/tree-multimap.ts +1 -1
  43. package/src/data-structures/hash/hash-map.ts +1 -1
  44. package/src/data-structures/linked-list/doubly-linked-list.ts +4 -4
  45. package/src/data-structures/linked-list/singly-linked-list.ts +4 -4
  46. package/src/data-structures/queue/deque.ts +10 -10
  47. package/src/data-structures/queue/queue.ts +1 -1
  48. package/src/interfaces/binary-tree.ts +1 -1
  49. package/src/types/data-structures/binary-tree/rb-tree.ts +1 -1
  50. package/src/types/data-structures/heap/heap.ts +1 -1
  51. package/src/types/data-structures/priority-queue/priority-queue.ts +1 -1
  52. package/test/performance/data-structures/binary-tree/rb-tree.test.ts +1 -1
  53. package/test/performance/data-structures/hash/hash-map.test.ts +8 -8
  54. package/test/performance/data-structures/linked-list/doubly-linked-list.test.ts +2 -2
  55. package/test/performance/data-structures/linked-list/singly-linked-list.test.ts +12 -1
  56. package/test/performance/data-structures/priority-queue/priority-queue.test.ts +1 -1
  57. package/test/performance/data-structures/queue/deque.test.ts +27 -15
  58. package/test/performance/data-structures/queue/queue.test.ts +27 -4
  59. package/test/performance/data-structures/stack/stack.test.ts +2 -2
  60. package/test/unit/data-structures/binary-tree/bst.test.ts +29 -29
  61. package/test/unit/data-structures/binary-tree/overall.test.ts +1 -1
  62. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +2 -2
  63. package/test/unit/data-structures/queue/deque.test.ts +15 -15
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.48.5](https://github.com/zrwusa/data-structure-typed/compare/v1.35.0...main) (upcoming)
11
+ ## [v1.48.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
@@ -1,4 +1,4 @@
1
- # Data Structure Typed
1
+ # data-structure-typed
2
2
 
3
3
  ![npm](https://img.shields.io/npm/v/data-structure-typed)
4
4
  ![npm](https://img.shields.io/npm/dm/data-structure-typed)
@@ -9,12 +9,86 @@
9
9
 
10
10
  [//]: # (![npm bundle size](https://img.shields.io/bundlephobia/min/data-structure-typed))
11
11
 
12
- Data Structures of Javascript & TypeScript.
12
+ <p><a href="https://github.com/zrwusa/data-structure-typed/blob/main/README.md">English</a> | <a href="https://github.com/zrwusa/data-structure-typed/blob/main/README_zh-CN.md">简体中文</a></p>
13
+
14
+ ## Why
13
15
 
14
16
  Do you envy C++ with [STL]() (std::), Python with [collections](), and Java with [java.util]() ? Well, no need to envy
15
17
  anymore! JavaScript and TypeScript now have [data-structure-typed]().**`Benchmark`** compared with C++ STL. **`API standards`** aligned with ES6 and Java. **`Usability`** is comparable to Python
16
18
 
17
19
 
20
+
21
+ ### We provide data structures that are not available in JS/TS
22
+
23
+ Heap, Binary Tree, RedBlack Tree, Linked List, Deque, Trie, Directed Graph, Undirected Graph, BST, AVL Tree, Priority Queue, Queue, Tree Multiset, Linked List.
24
+
25
+
26
+ ### Performance superior to native JS/TS
27
+
28
+ **`Queue vs. native Array, 100,000 scale`**
29
+ <table style="display: table; width:100%; table-layout: fixed;">
30
+ <thead>
31
+ <tr>
32
+ <th>Test Methods</th>
33
+ <th>Time Taken (ms)</th>
34
+ </tr>
35
+ </thead>
36
+ <tbody>
37
+ <tr>
38
+ <td>Queue push &amp; shift</td>
39
+ <td>5.83</td>
40
+ </tr>
41
+ <tr>
42
+ <td>Array push &amp; shift</td>
43
+ <td>2829.59</td>
44
+ </tr>
45
+ </tbody>
46
+ </table>
47
+
48
+ **`Deque vs. native Array, 100,000 scale`**
49
+ <table style="display: table; width:100%; table-layout: fixed;">
50
+ <thead>
51
+ <tr>
52
+ <th>Test Methods</th>
53
+ <th>Time Taken (ms)</th>
54
+ </tr>
55
+ </thead>
56
+ <tbody>
57
+ <tr>
58
+ <td>Deque unshift &amp; shift</td>
59
+ <td>2.44</td>
60
+ </tr>
61
+ <tr>
62
+ <td>Array unshift &amp; shift</td>
63
+ <td>4750.37</td>
64
+ </tr>
65
+ </tbody>
66
+ </table>
67
+
68
+ **`HashMap vs. native Map/Set, 100,000 scale`**
69
+ <table style="display: table; width:100%; table-layout: fixed;">
70
+ <thead>
71
+ <tr>
72
+ <th>Method</th>
73
+ <th>Time Taken (ms)</th>
74
+ </tr>
75
+ </thead>
76
+ <tbody>
77
+ <tr>
78
+ <td>HashMap 1,000,000 set</td>
79
+ <td>122.51</td>
80
+ </tr>
81
+ <tr>
82
+ <td>Native Map 1,000,000 set</td>
83
+ <td>223.80</td>
84
+ </tr>
85
+ <tr>
86
+ <td>Native Set 1,000,000 add</td>
87
+ <td>185.06</td>
88
+ </tr>
89
+ </tbody>
90
+ </table>
91
+
18
92
  [//]: # (![Branches]&#40;https://img.shields.io/badge/branches-55.47%25-red.svg?style=flat&#41;)
19
93
 
20
94
  [//]: # (![Statements]&#40;https://img.shields.io/badge/statements-67%25-red.svg?style=flat&#41;)
@@ -496,24 +570,12 @@ avl2.print();
496
570
  <td><a href="https://data-structure-typed-docs.vercel.app/classes/RedBlackTree.html"><span>View</span></a></td>
497
571
  </tr>
498
572
  <tr>
499
- <td>Tree Multiset</td>
573
+ <td>Tree Multimap</td>
500
574
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
501
575
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
502
576
  <td><a href="https://data-structure-typed-docs.vercel.app/classes/TreeMultimap.html"><span>View</span></a></td>
503
577
  </tr>
504
578
  <tr>
505
- <td>Segment Tree</td>
506
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
507
- <td></td>
508
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/SegmentTree.html"><span>View</span></a></td>
509
- </tr>
510
- <tr>
511
- <td>Binary Indexed Tree</td>
512
- <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
513
- <td></td>
514
- <td><a href="https://data-structure-typed-docs.vercel.app/classes/BinaryIndexedTree.html"><span>View</span></a></td>
515
- </tr>
516
- <tr>
517
579
  <td>Heap</td>
518
580
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
519
581
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
@@ -603,6 +665,18 @@ avl2.print();
603
665
  <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
604
666
  <td><a href="https://data-structure-typed-docs.vercel.app/classes/Stack.html"><span>View</span></a></td>
605
667
  </tr>
668
+ <tr>
669
+ <td>Segment Tree</td>
670
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
671
+ <td></td>
672
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/SegmentTree.html"><span>View</span></a></td>
673
+ </tr>
674
+ <tr>
675
+ <td>Binary Indexed Tree</td>
676
+ <td><img src="https://raw.githubusercontent.com/zrwusa/assets/master/images/data-structure-typed/assets/tick.svg" alt=""></td>
677
+ <td></td>
678
+ <td><a href="https://data-structure-typed-docs.vercel.app/classes/BinaryIndexedTree.html"><span>View</span></a></td>
679
+ </tr>
606
680
  </tbody>
607
681
  </table>
608
682
 
@@ -685,7 +759,7 @@ avl2.print();
685
759
  <td>-</td>
686
760
  </tr>
687
761
  <tr>
688
- <td>-</td>
762
+ <td>TreeMultimap&lt;E&gt;</td>
689
763
  <td>multiset&lt;T&gt;</td>
690
764
  <td>-</td>
691
765
  <td>-</td>
@@ -727,28 +801,10 @@ avl2.print();
727
801
  <td>-</td>
728
802
  </tr>
729
803
  <tr>
730
- <td>Set&lt;E&gt;</td>
731
- <td>-</td>
732
- <td>HashSet&lt;E&gt;</td>
733
- <td>set</td>
734
- </tr>
735
- <tr>
736
- <td>HashMap&lt;K, V&gt;</td>
737
- <td>-</td>
738
- <td>HashMap&lt;K, V&gt;</td>
739
- <td>dict</td>
740
- </tr>
741
- <tr>
742
- <td>-</td>
804
+ <td>HashMap&lt;E&gt;</td>
743
805
  <td>unordered_set&lt;T&gt;</td>
744
806
  <td>HashSet&lt;E&gt;</td>
745
- <td>-</td>
746
- </tr>
747
- <tr>
748
- <td>Map&lt;K, V&gt;</td>
749
- <td>-</td>
750
- <td>-</td>
751
- <td>OrderedDict</td>
807
+ <td>set</td>
752
808
  </tr>
753
809
  <tr>
754
810
  <td>-</td>
@@ -756,17 +812,11 @@ avl2.print();
756
812
  <td>-</td>
757
813
  <td>Counter</td>
758
814
  </tr>
759
- <tr>
760
- <td>-</td>
761
- <td>-</td>
762
- <td>LinkedHashSet&lt;E&gt;</td>
763
- <td>-</td>
764
- </tr>
765
815
  <tr>
766
816
  <td>LinkedHashMap&lt;K, V&gt;</td>
767
817
  <td>-</td>
768
818
  <td>LinkedHashMap&lt;K, V&gt;</td>
769
- <td>-</td>
819
+ <td>OrderedDict</td>
770
820
  </tr>
771
821
  <tr>
772
822
  <td>-</td>
@@ -788,52 +838,52 @@ avl2.print();
788
838
  [//]: # (No deletion!!! Start of Replace Section)
789
839
  <div class="json-to-html-collapse clearfix 0">
790
840
  <div class='collapsible level0' ><span class='json-to-html-label'>avl-tree</span></div>
791
- <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>28.01</td><td>35.70</td><td>3.60e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>68.19</td><td>14.66</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>34.37</td><td>29.10</td><td>3.01e-4</td></tr><tr><td>10,000 get</td><td>28.61</td><td>34.96</td><td>2.81e-4</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>executions per sec</th><th>sample deviation</th></tr><tr><td>10,000 add randomly</td><td>51.22</td><td>19.52</td><td>0.00</td></tr><tr><td>10,000 add & delete randomly</td><td>110.40</td><td>9.06</td><td>0.00</td></tr><tr><td>10,000 addMany</td><td>58.39</td><td>17.13</td><td>6.35e-4</td></tr><tr><td>10,000 get</td><td>50.59</td><td>19.77</td><td>3.87e-4</td></tr></table></div>
792
842
  </div><div class="json-to-html-collapse clearfix 0">
793
843
  <div class='collapsible level0' ><span class='json-to-html-label'>binary-tree</span></div>
794
- <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.78</td><td>72.57</td><td>9.19e-5</td></tr><tr><td>1,000 add & delete randomly</td><td>21.50</td><td>46.52</td><td>1.81e-4</td></tr><tr><td>1,000 addMany</td><td>15.91</td><td>62.85</td><td>1.16e-4</td></tr><tr><td>1,000 get</td><td>18.16</td><td>55.08</td><td>1.86e-4</td></tr><tr><td>1,000 has</td><td>18.16</td><td>55.06</td><td>1.82e-4</td></tr><tr><td>1,000 dfs</td><td>161.46</td><td>6.19</td><td>5.35e-4</td></tr><tr><td>1,000 bfs</td><td>56.32</td><td>17.76</td><td>4.17e-4</td></tr><tr><td>1,000 morris</td><td>257.59</td><td>3.88</td><td>6.92e-4</td></tr></table></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 add randomly</td><td>13.83</td><td>72.29</td><td>1.19e-4</td></tr><tr><td>1,000 add & delete randomly</td><td>21.49</td><td>46.54</td><td>2.34e-4</td></tr><tr><td>1,000 addMany</td><td>15.93</td><td>62.78</td><td>1.27e-4</td></tr><tr><td>1,000 get</td><td>18.19</td><td>54.98</td><td>1.79e-4</td></tr><tr><td>1,000 has</td><td>18.20</td><td>54.93</td><td>1.71e-4</td></tr><tr><td>1,000 dfs</td><td>161.79</td><td>6.18</td><td>7.45e-4</td></tr><tr><td>1,000 bfs</td><td>56.68</td><td>17.64</td><td>4.77e-4</td></tr><tr><td>1,000 morris</td><td>262.64</td><td>3.81</td><td>0.00</td></tr></table></div>
795
845
  </div><div class="json-to-html-collapse clearfix 0">
796
846
  <div class='collapsible level0' ><span class='json-to-html-label'>bst</span></div>
797
- <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>26.94</td><td>37.12</td><td>2.41e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>69.33</td><td>14.42</td><td>5.46e-4</td></tr><tr><td>10,000 addMany</td><td>28.17</td><td>35.50</td><td>3.03e-4</td></tr><tr><td>10,000 get</td><td>31.40</td><td>31.85</td><td>2.49e-4</td></tr></table></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>10,000 add randomly</td><td>51.51</td><td>19.41</td><td>8.70e-4</td></tr><tr><td>10,000 add & delete randomly</td><td>114.09</td><td>8.76</td><td>9.66e-4</td></tr><tr><td>10,000 addMany</td><td>47.86</td><td>20.90</td><td>2.77e-4</td></tr><tr><td>10,000 get</td><td>51.93</td><td>19.26</td><td>6.56e-4</td></tr></table></div>
798
848
  </div><div class="json-to-html-collapse clearfix 0">
799
849
  <div class='collapsible level0' ><span class='json-to-html-label'>rb-tree</span></div>
800
- <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>84.95</td><td>11.77</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>214.08</td><td>4.67</td><td>0.00</td></tr><tr><td>100,000 getNode</td><td>43.21</td><td>23.14</td><td>3.41e-4</td></tr><tr><td>100,000 add & iterator</td><td>115.98</td><td>8.62</td><td>0.00</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>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add</td><td>86.63</td><td>11.54</td><td>0.00</td></tr><tr><td>100,000 add & delete randomly</td><td>218.88</td><td>4.57</td><td>0.01</td></tr><tr><td>100,000 getNode</td><td>261.16</td><td>3.83</td><td>0.00</td></tr><tr><td>100,000 add & iterator</td><td>117.64</td><td>8.50</td><td>0.00</td></tr></table></div>
801
851
  </div><div class="json-to-html-collapse clearfix 0">
802
852
  <div class='collapsible level0' ><span class='json-to-html-label'>comparison</span></div>
803
- <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>SRC PQ 10,000 add</td><td>0.14</td><td>6958.08</td><td>1.96e-6</td></tr><tr><td>CJS PQ 10,000 add</td><td>0.14</td><td>6945.48</td><td>1.85e-6</td></tr><tr><td>MJS PQ 10,000 add</td><td>0.57</td><td>1758.67</td><td>6.72e-6</td></tr><tr><td>SRC PQ 10,000 add & pop</td><td>3.41</td><td>293.06</td><td>3.56e-5</td></tr><tr><td>CJS PQ 10,000 add & pop</td><td>3.40</td><td>293.88</td><td>3.65e-5</td></tr><tr><td>MJS PQ 10,000 add & pop</td><td>3.30</td><td>302.86</td><td>3.70e-5</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>executions per sec</th><th>sample deviation</th></tr><tr><td>SRC PQ 10,000 add</td><td>0.14</td><td>6949.20</td><td>1.53e-6</td></tr><tr><td>CJS PQ 10,000 add</td><td>0.14</td><td>6943.68</td><td>1.74e-6</td></tr><tr><td>MJS PQ 10,000 add</td><td>0.57</td><td>1758.40</td><td>6.26e-6</td></tr><tr><td>SRC PQ 10,000 add & pop</td><td>3.40</td><td>293.94</td><td>3.50e-5</td></tr><tr><td>CJS PQ 10,000 add & pop</td><td>3.42</td><td>292.69</td><td>5.34e-5</td></tr><tr><td>MJS PQ 10,000 add & pop</td><td>3.30</td><td>303.01</td><td>3.97e-5</td></tr></table></div>
804
854
  </div><div class="json-to-html-collapse clearfix 0">
805
855
  <div class='collapsible level0' ><span class='json-to-html-label'>directed-graph</span></div>
806
- <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>9990.48</td><td>1.15e-6</td></tr><tr><td>1,000 addEdge</td><td>6.30</td><td>158.81</td><td>7.72e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.15e+4</td><td>3.77e-7</td></tr><tr><td>1,000 getEdge</td><td>22.56</td><td>44.33</td><td>0.00</td></tr><tr><td>tarjan</td><td>213.11</td><td>4.69</td><td>0.01</td></tr><tr><td>tarjan all</td><td>212.23</td><td>4.71</td><td>9.29e-4</td></tr><tr><td>topologicalSort</td><td>170.96</td><td>5.85</td><td>0.00</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>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000 addVertex</td><td>0.10</td><td>9930.74</td><td>1.11e-6</td></tr><tr><td>1,000 addEdge</td><td>6.13</td><td>163.19</td><td>1.84e-4</td></tr><tr><td>1,000 getVertex</td><td>0.05</td><td>2.15e+4</td><td>5.00e-7</td></tr><tr><td>1,000 getEdge</td><td>23.57</td><td>42.43</td><td>0.00</td></tr><tr><td>tarjan</td><td>252.05</td><td>3.97</td><td>0.03</td></tr><tr><td>tarjan all</td><td>221.15</td><td>4.52</td><td>0.00</td></tr><tr><td>topologicalSort</td><td>181.07</td><td>5.52</td><td>0.00</td></tr></table></div>
807
857
  </div><div class="json-to-html-collapse clearfix 0">
808
858
  <div class='collapsible level0' ><span class='json-to-html-label'>hash-map</span></div>
809
- <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>120.97</td><td>8.27</td><td>0.05</td></tr><tr><td>1,000,000 Map set</td><td>217.88</td><td>4.59</td><td>0.03</td></tr><tr><td>1,000,000 Set add</td><td>171.45</td><td>5.83</td><td>0.02</td></tr><tr><td>1,000,000 set & get</td><td>116.49</td><td>8.58</td><td>0.02</td></tr><tr><td>1,000,000 Map set & get</td><td>271.49</td><td>3.68</td><td>0.02</td></tr><tr><td>1,000,000 Set add & has</td><td>173.05</td><td>5.78</td><td>0.02</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>314.33</td><td>3.18</td><td>0.04</td></tr><tr><td>1,000,000 Map ObjKey set & get</td><td>275.93</td><td>3.62</td><td>0.06</td></tr><tr><td>1,000,000 Set ObjKey add & has</td><td>277.40</td><td>3.60</td><td>0.08</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>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 set</td><td>122.90</td><td>8.14</td><td>0.04</td></tr><tr><td>Native Map 1,000,000 set</td><td>215.97</td><td>4.63</td><td>0.02</td></tr><tr><td>Native Set 1,000,000 add</td><td>179.11</td><td>5.58</td><td>0.02</td></tr><tr><td>1,000,000 set & get</td><td>123.10</td><td>8.12</td><td>0.04</td></tr><tr><td>Native Map 1,000,000 set & get</td><td>271.80</td><td>3.68</td><td>0.02</td></tr><tr><td>Native Set 1,000,000 add & has</td><td>176.65</td><td>5.66</td><td>0.02</td></tr><tr><td>1,000,000 ObjKey set & get</td><td>341.97</td><td>2.92</td><td>0.07</td></tr><tr><td>Native Map 1,000,000 ObjKey set & get</td><td>316.86</td><td>3.16</td><td>0.04</td></tr><tr><td>Native Set 1,000,000 ObjKey add & has</td><td>285.14</td><td>3.51</td><td>0.06</td></tr></table></div>
810
860
  </div><div class="json-to-html-collapse clearfix 0">
811
861
  <div class='collapsible level0' ><span class='json-to-html-label'>heap</span></div>
812
- <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 & pop</td><td>80.18</td><td>12.47</td><td>0.00</td></tr><tr><td>100,000 add & dfs</td><td>35.40</td><td>28.25</td><td>0.00</td></tr><tr><td>10,000 fib add & pop</td><td>360.71</td><td>2.77</td><td>0.00</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>executions per sec</th><th>sample deviation</th></tr><tr><td>100,000 add & pop</td><td>80.37</td><td>12.44</td><td>0.00</td></tr><tr><td>100,000 add & dfs</td><td>36.20</td><td>27.63</td><td>0.00</td></tr><tr><td>10,000 fib add & pop</td><td>362.24</td><td>2.76</td><td>0.00</td></tr></table></div>
813
863
  </div><div class="json-to-html-collapse clearfix 0">
814
864
  <div class='collapsible level0' ><span class='json-to-html-label'>doubly-linked-list</span></div>
815
- <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>242.04</td><td>4.13</td><td>0.04</td></tr><tr><td>1,000,000 unshift</td><td>204.37</td><td>4.89</td><td>0.03</td></tr><tr><td>1,000,000 unshift & shift</td><td>178.89</td><td>5.59</td><td>0.03</td></tr><tr><td>1,000,000 insertBefore</td><td>325.64</td><td>3.07</td><td>0.07</td></tr></table></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</td><td>216.09</td><td>4.63</td><td>0.06</td></tr><tr><td>1,000,000 unshift</td><td>220.68</td><td>4.53</td><td>0.02</td></tr><tr><td>1,000,000 unshift & shift</td><td>172.93</td><td>5.78</td><td>0.04</td></tr><tr><td>1,000,000 insertBefore</td><td>332.25</td><td>3.01</td><td>0.08</td></tr></table></div>
816
866
  </div><div class="json-to-html-collapse clearfix 0">
817
867
  <div class='collapsible level0' ><span class='json-to-html-label'>singly-linked-list</span></div>
818
- <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>216.93</td><td>4.61</td><td>0.02</td></tr><tr><td>10,000 insertBefore</td><td>247.43</td><td>4.04</td><td>0.00</td></tr></table></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>1,000,000 push & shift</td><td>222.99</td><td>4.48</td><td>0.10</td></tr><tr><td>10,000 push & pop</td><td>214.82</td><td>4.66</td><td>0.01</td></tr><tr><td>10,000 insertBefore</td><td>251.24</td><td>3.98</td><td>0.01</td></tr></table></div>
819
869
  </div><div class="json-to-html-collapse clearfix 0">
820
870
  <div class='collapsible level0' ><span class='json-to-html-label'>max-priority-queue</span></div>
821
- <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>8.92</td><td>112.15</td><td>1.68e-4</td></tr></table></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>10,000 refill & poll</td><td>8.91</td><td>112.19</td><td>1.57e-4</td></tr></table></div>
822
872
  </div><div class="json-to-html-collapse clearfix 0">
823
873
  <div class='collapsible level0' ><span class='json-to-html-label'>priority-queue</span></div>
824
- <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 & pop</td><td>101.57</td><td>9.85</td><td>0.00</td></tr></table></div>
874
+ <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 & pop</td><td>101.70</td><td>9.83</td><td>0.00</td></tr></table></div>
825
875
  </div><div class="json-to-html-collapse clearfix 0">
826
876
  <div class='collapsible level0' ><span class='json-to-html-label'>deque</span></div>
827
- <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>13.83</td><td>72.30</td><td>1.57e-4</td></tr><tr><td>1,000,000 push & pop</td><td>22.78</td><td>43.90</td><td>4.69e-4</td></tr><tr><td>1,000,000 push & shift</td><td>23.80</td><td>42.02</td><td>1.75e-4</td></tr><tr><td>1,000,000 unshift & shift</td><td>22.04</td><td>45.37</td><td>2.74e-4</td></tr></table></div>
877
+ <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>13.80</td><td>72.47</td><td>1.56e-4</td></tr><tr><td>1,000,000 push & pop</td><td>22.72</td><td>44.02</td><td>2.02e-4</td></tr><tr><td>100,000 push & shift</td><td>2.35</td><td>425.67</td><td>5.80e-5</td></tr><tr><td>Native Array 100,000 push & shift</td><td>2511.14</td><td>0.40</td><td>0.36</td></tr><tr><td>100,000 unshift & shift</td><td>2.23</td><td>447.89</td><td>3.30e-4</td></tr><tr><td>Native Array 100,000 unshift & shift</td><td>4140.23</td><td>0.24</td><td>0.33</td></tr></table></div>
828
878
  </div><div class="json-to-html-collapse clearfix 0">
829
879
  <div class='collapsible level0' ><span class='json-to-html-label'>queue</span></div>
830
- <div class="content"><table style="display: table; width:100%; table-layout: fixed;"><tr><th>test name</th><th>time taken (ms)</th><th>executions per sec</th><th>sample deviation</th></tr><tr><td>1,000,000 push</td><td>39.17</td><td>25.53</td><td>0.00</td></tr><tr><td>1,000,000 push & shift</td><td>82.12</td><td>12.18</td><td>0.00</td></tr></table></div>
880
+ <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.65</td><td>22.91</td><td>0.01</td></tr><tr><td>100,000 push & shift</td><td>4.99</td><td>200.28</td><td>9.54e-5</td></tr><tr><td>Native Array 100,000 push & shift</td><td>2335.63</td><td>0.43</td><td>0.33</td></tr><tr><td>Native Array 100,000 push & pop</td><td>4.39</td><td>227.81</td><td>0.00</td></tr></table></div>
831
881
  </div><div class="json-to-html-collapse clearfix 0">
832
882
  <div class='collapsible level0' ><span class='json-to-html-label'>stack</span></div>
833
- <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.20</td><td>24.88</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>49.27</td><td>20.30</td><td>0.01</td></tr></table></div>
883
+ <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.38</td><td>22.04</td><td>0.01</td></tr><tr><td>1,000,000 push & pop</td><td>49.52</td><td>20.19</td><td>0.01</td></tr></table></div>
834
884
  </div><div class="json-to-html-collapse clearfix 0">
835
885
  <div class='collapsible level0' ><span class='json-to-html-label'>trie</span></div>
836
- <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>45.29</td><td>22.08</td><td>6.76e-4</td></tr><tr><td>100,000 getWords</td><td>86.68</td><td>11.54</td><td>0.00</td></tr></table></div>
886
+ <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.99</td><td>23.26</td><td>0.00</td></tr><tr><td>100,000 getWords</td><td>89.78</td><td>11.14</td><td>0.00</td></tr></table></div>
837
887
  </div>
838
888
 
839
889
  [//]: # (No deletion!!! End of Replace Section)