data-structure-typed 1.41.6 → 1.41.8

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 (115) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +14 -11
  3. package/benchmark/report.html +14 -11
  4. package/benchmark/report.json +153 -202
  5. package/dist/cjs/src/data-structures/binary-tree/rb-tree.d.ts +5 -2
  6. package/dist/cjs/src/data-structures/binary-tree/rb-tree.js +15 -2
  7. package/dist/cjs/src/data-structures/binary-tree/rb-tree.js.map +1 -1
  8. package/dist/cjs/src/data-structures/graph/abstract-graph.js +5 -5
  9. package/dist/cjs/src/data-structures/graph/abstract-graph.js.map +1 -1
  10. package/dist/mjs/src/data-structures/binary-tree/rb-tree.d.ts +5 -2
  11. package/dist/mjs/src/data-structures/binary-tree/rb-tree.js +15 -2
  12. package/dist/mjs/src/data-structures/graph/abstract-graph.js +5 -5
  13. package/dist/umd/data-structure-typed.min.js +1 -1
  14. package/dist/umd/data-structure-typed.min.js.map +1 -1
  15. package/package.json +5 -5
  16. package/src/data-structures/binary-tree/binary-tree.ts +1 -1
  17. package/src/data-structures/binary-tree/bst.ts +1 -1
  18. package/src/data-structures/binary-tree/rb-tree.ts +18 -2
  19. package/src/data-structures/graph/abstract-graph.ts +6 -6
  20. package/test/config.ts +1 -0
  21. package/test/integration/avl-tree.test.ts +110 -0
  22. package/test/integration/bst.test.ts +385 -0
  23. package/test/integration/heap.test.js +16 -0
  24. package/test/integration/index.html +51 -0
  25. package/test/performance/data-structures/binary-tree/avl-tree.test.ts +36 -0
  26. package/test/performance/data-structures/binary-tree/binary-index-tree.test.ts +0 -0
  27. package/test/performance/data-structures/binary-tree/binary-tree.test.ts +45 -0
  28. package/test/performance/data-structures/binary-tree/bst.test.ts +36 -0
  29. package/test/performance/data-structures/binary-tree/overall.test.ts +0 -0
  30. package/test/performance/data-structures/binary-tree/rb-tree.test.ts +32 -0
  31. package/test/performance/data-structures/binary-tree/segment-tree.test.ts +0 -0
  32. package/test/performance/data-structures/binary-tree/tree-multiset.test.ts +0 -0
  33. package/test/performance/data-structures/graph/abstract-graph.test.ts +0 -0
  34. package/test/performance/data-structures/graph/directed-graph.test.ts +49 -0
  35. package/test/performance/data-structures/graph/map-graph.test.ts +0 -0
  36. package/test/performance/data-structures/graph/overall.test.ts +0 -0
  37. package/test/performance/data-structures/graph/undirected-graph.test.ts +0 -0
  38. package/test/performance/data-structures/hash/coordinate-map.test.ts +0 -0
  39. package/test/performance/data-structures/hash/coordinate-set.test.ts +0 -0
  40. package/test/performance/data-structures/hash/hash-map.test.ts +0 -0
  41. package/test/performance/data-structures/hash/hash-table.test.ts +0 -0
  42. package/test/performance/data-structures/heap/heap.test.ts +30 -0
  43. package/test/performance/data-structures/heap/max-heap.test.ts +0 -0
  44. package/test/performance/data-structures/heap/min-heap.test.ts +0 -0
  45. package/test/performance/data-structures/linked-list/doubly-linked-list.test.ts +40 -0
  46. package/test/performance/data-structures/linked-list/linked-list.test.ts +0 -0
  47. package/test/performance/data-structures/linked-list/singly-linked-list.test.ts +34 -0
  48. package/test/performance/data-structures/linked-list/skip-linked-list.test.ts +0 -0
  49. package/test/performance/data-structures/linked-list/skip-list.test.ts +0 -0
  50. package/test/performance/data-structures/matrix/matrix.test.ts +0 -0
  51. package/test/performance/data-structures/matrix/matrix2d.test.ts +0 -0
  52. package/test/performance/data-structures/matrix/navigator.test.ts +0 -0
  53. package/test/performance/data-structures/matrix/vector2d.test.ts +0 -0
  54. package/test/performance/data-structures/priority-queue/max-priority-queue.test.ts +19 -0
  55. package/test/performance/data-structures/priority-queue/min-priority-queue.test.ts +0 -0
  56. package/test/performance/data-structures/priority-queue/priority-queue.test.ts +0 -0
  57. package/test/performance/data-structures/queue/deque.test.ts +21 -0
  58. package/test/performance/data-structures/queue/queue.test.ts +25 -0
  59. package/test/performance/data-structures/stack/stack.test.ts +0 -0
  60. package/test/performance/data-structures/tree/tree.test.ts +0 -0
  61. package/test/performance/data-structures/trie/trie.test.ts +22 -0
  62. package/test/performance/reportor.ts +185 -0
  63. package/test/performance/types/index.ts +1 -0
  64. package/test/performance/types/reportor.ts +3 -0
  65. package/test/types/index.ts +1 -0
  66. package/test/types/utils/big-o.ts +1 -0
  67. package/test/types/utils/index.ts +2 -0
  68. package/test/types/utils/json2html.ts +1 -0
  69. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +269 -0
  70. package/test/unit/data-structures/binary-tree/binary-index-tree.test.ts +320 -0
  71. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +486 -0
  72. package/test/unit/data-structures/binary-tree/bst.test.ts +840 -0
  73. package/test/unit/data-structures/binary-tree/overall.test.ts +66 -0
  74. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +435 -0
  75. package/test/unit/data-structures/binary-tree/segment-tree.test.ts +50 -0
  76. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +542 -0
  77. package/test/unit/data-structures/graph/abstract-graph.test.ts +100 -0
  78. package/test/unit/data-structures/graph/directed-graph.test.ts +564 -0
  79. package/test/unit/data-structures/graph/map-graph.test.ts +126 -0
  80. package/test/unit/data-structures/graph/overall.test.ts +49 -0
  81. package/test/unit/data-structures/graph/salty-edges.json +1 -0
  82. package/test/unit/data-structures/graph/salty-vertexes.json +1 -0
  83. package/test/unit/data-structures/graph/undirected-graph.test.ts +167 -0
  84. package/test/unit/data-structures/hash/coordinate-map.test.ts +74 -0
  85. package/test/unit/data-structures/hash/coordinate-set.test.ts +66 -0
  86. package/test/unit/data-structures/hash/hash-map.test.ts +103 -0
  87. package/test/unit/data-structures/hash/hash-table.test.ts +186 -0
  88. package/test/unit/data-structures/heap/heap.test.ts +254 -0
  89. package/test/unit/data-structures/heap/max-heap.test.ts +52 -0
  90. package/test/unit/data-structures/heap/min-heap.test.ts +52 -0
  91. package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +400 -0
  92. package/test/unit/data-structures/linked-list/linked-list.test.ts +8 -0
  93. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +474 -0
  94. package/test/unit/data-structures/linked-list/skip-linked-list.test.ts +13 -0
  95. package/test/unit/data-structures/linked-list/skip-list.test.ts +86 -0
  96. package/test/unit/data-structures/matrix/matrix.test.ts +54 -0
  97. package/test/unit/data-structures/matrix/matrix2d.test.ts +345 -0
  98. package/test/unit/data-structures/matrix/navigator.test.ts +244 -0
  99. package/test/unit/data-structures/matrix/vector2d.test.ts +171 -0
  100. package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +73 -0
  101. package/test/unit/data-structures/priority-queue/min-priority-queue.test.ts +63 -0
  102. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +53 -0
  103. package/test/unit/data-structures/queue/deque.test.ts +410 -0
  104. package/test/unit/data-structures/queue/queue.test.ts +207 -0
  105. package/test/unit/data-structures/stack/stack.test.ts +67 -0
  106. package/test/unit/data-structures/tree/tree.test.ts +39 -0
  107. package/test/unit/data-structures/trie/trie.test.ts +825 -0
  108. package/test/utils/array.ts +5514 -0
  109. package/test/utils/big-o.ts +207 -0
  110. package/test/utils/console.ts +31 -0
  111. package/test/utils/index.ts +7 -0
  112. package/test/utils/is.ts +56 -0
  113. package/test/utils/json2html.ts +322 -0
  114. package/test/utils/number.ts +13 -0
  115. package/test/utils/string.ts +1 -0
@@ -0,0 +1,39 @@
1
+ import {TreeNode} from '../../../../src';
2
+
3
+ describe('TreeNode', () => {
4
+ it('should create a TreeNode with the given key and value', () => {
5
+ const node = new TreeNode<string>('1', 'Node 1');
6
+ expect(node.key).toBe('1');
7
+ expect(node.value).toBe('Node 1');
8
+ expect(node.children).toEqual([]);
9
+ });
10
+
11
+ it('should add children to the TreeNode', () => {
12
+ const parentNode = new TreeNode<string>('1', 'Parent Node');
13
+ const child1 = new TreeNode<string>('2', 'Child 1');
14
+ const child2 = new TreeNode<string>('3', 'Child 2');
15
+
16
+ parentNode.addChildren([child1, child2]);
17
+
18
+ expect(parentNode.children).toEqual([child1, child2]);
19
+ });
20
+
21
+ it('should calculate the height of the tree correctly', () => {
22
+ const rootNode = new TreeNode<string>('1', 'Root Node');
23
+ const child1 = new TreeNode<string>('2', 'Child 1');
24
+ const child2 = new TreeNode<string>('3', 'Child 2');
25
+ const grandchild1 = new TreeNode<string>('4', 'Grandchild 1');
26
+ const grandchild2 = new TreeNode<string>('5', 'Grandchild 2');
27
+
28
+ rootNode.addChildren([child1, child2]);
29
+ child1.addChildren([grandchild1]);
30
+ child2.addChildren([grandchild2]);
31
+
32
+ expect(rootNode.getHeight()).toBe(2); // Height of the tree should be 2
33
+ });
34
+
35
+ it('should handle nodes without children when calculating height', () => {
36
+ const rootNode = new TreeNode<string>('1', 'Root Node');
37
+ expect(rootNode.getHeight()).toBe(0); // Height of a single node should be 0
38
+ });
39
+ });